This implementation is somewhat special from our other Gradle properties, because it does not get declared in the root gradle.properties. The reason is that included builds are supposed to have their own properties e.g.
root_project/gradle.properties
root_project/buildSrc/gradle.properties
root_project/build-conventions/gradle.properties
Instead of declaring the property in three different places which might lead to confusion, this leaves the property undeclared, with the Gradle scripts assuming a default value of true. The only time this is expected to be overridden is due to a workaround for an Android Studio bug.
Provides infrastructure to help us track exactly what build of the app is running. This provides the ability to implement a number of features in the future
- Displaying build version in an About screen
- Automatically versioning with Git commit count as an incrementing version number
- Injection of secrets, API keys, or other behaviors into the build so that the app can leverage them at runtime. The secrets can be securely stored as environment variables (e.g. on CI), so they don't need to be committed to the repository.