1.1 KiB
1.1 KiB
Architecture
TODO This is a placeholder for describing the app architecture.
Gradle
- Versions are declared in gradle.properties. There's still enough inconsistency in how versions are handled in Gradle, that this is as close as we can get to a universal system. A version catalog is used for dependencies and is configured in settings.gradle.kts, but other versions like Gradle Plug-ins, the NDK version, Java version, and Android SDK versions don't fit into the version catalog model and are read directly from the properties
- Much of the Gradle configuration lives in build-conventions to prevent repetitive configuration as additional modules are added to the project
- Build scripts are written in Kotlin, so that a single language is used across build and the app code bases
- Only Gradle, Google, and JetBrains plug-ins are included in the critical path. Third party plug-ins can be used, but they're outside the critical path. For example, the Gradle Versions Plugin could be removed and wouldn't negative impact building, testing, or deploying the app