Repository navigation
Add Android build-type defaults for local flags - #317
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
A local flag keeps one base default. defaultFor sets an Android build-type default. Release R8 uses the release effective default.
A local flag keeps its base default. defaultFor sets a different default for one Android build type, and that compilation sees it as ConfigParam.defaultValue. R8 -assumevalues and -checkdiscard use the release effective default. iOS and non-Android compilations stay on the base.
a868ca6 to
be6c8ea
Compare
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Closes #297
Type of change
Checklist
./gradlew spotlessCheckpassesNotes for reviewers
A local flag keeps its
defaultas the base default.defaultFor(buildType, value)sets a different declared default for one Android build type. A build type with no override uses the base. Android application and library compilations readbuild/generated/featured/buildType/<buildType>(generateConfigParamDebug, not the sharedgenerateConfigParamtask). JVM, KMP, the manifest, the registry, and iOS still use the base. R8-assumevaluesand-checkdiscarduse the release effective default. A debug override is not that rule. Product flavors are not a selector.default = trueplusdefaultFor("release", false)keeps iOS ontruewhile Android release R8 assumesfalse.No device run. This is a Gradle plugin change.
Checks run:
:featured-gradle-plugin:test(including the Android TestKit fixtures;ANDROID_HOMEwas set, so they were not assumption skips),:featured-shrinker-tests:test, andspotlessCheck.