Feature Flags in LINE Android > Started with a simple Gradle script (Dec. 2015) > Injects values into BuildConfig file > Loads values from a property file
Feature Flags in LINE Android > Started with a simple Gradle script (Dec. 2015) > Injects values into BuildConfig file = = = # . " = = = # . " > Loads values from a property file
Misused Feature Flags in Submodules line-android-app FeatureFlag script Flag Property File Product Flavor BuildConfig.java FeatureFlag script Product Flavor BuildConfig.java submodule-sticker Refers to Injects values into Refers to Injects values into
Problems of Misuse > Caused by BuildConfig.java and product flavors > Generated wrong values > Caused by back reference > Submodules were no longer standalone
Problems of Misuse > Caused by BuildConfig.java and product flavors > Generated wrong values > Caused by back reference > Submodules were no longer standalone
Workaround for Wrong Flag Values BuildConfig.java BuildConfig.java Injects values into Injects values into package com.linecorp.line package com.linecorp.sticker
E F variant Property Parsing: Value Calculation )& ) ) () II )-)& ) F AC: F E )& ) ) .-& ) )& ) ) F II E F AC: F E )& ) ) .-& ) )& ) ) F AC: F E )& ) ) Optimization Variant resolution Package name extraction )& ) ) CA CED F E E =
Property Parsing: Value Calculation E F variant )& ) ) () II )-)& ) F AC: F E )& ) ) .-& ) )& ) ) F II E F AC: F E )& ) ) .-& ) )& ) ) F AC: F E )& ) ) Optimization Variant resolution Package name extraction )& ) ) CA CED F E E =
Property Parsing: Value Calculation E F variant )& ) ) () II )-)& ) F AC: F E )& ) ) .-& ) )& ) ) F II E F AC: F E )& ) ) .-& ) )& ) ) F AC: F E )& ) ) Optimization Variant resolution Package name extraction )& ) ) CA CED F E E =
Property Parsing: Value Calculation E F variant )& ) ) () II )-)& ) F AC: F E )& ) ) .-& ) )& ) ) F II E F AC: F E )& ) ) .-& ) )& ) ) F AC: F E )& ) ) Optimization Variant resolution Package name extraction )& ) ) CA CED F E E =
Property Parsing: Value Calculation E F variant )& ) ) () II )-)& ) F AC: F E )& ) ) .-& ) )& ) ) F II E F AC: F E )& ) ) .-& ) )& ) ) F AC: F E )& ) ) Optimization Variant resolution Package name extraction )& ) ) CA CED F E E =