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.
- Created new gradle.properties attributes to configure package and app name
- Improved app/build.gradle to support the attribute
- Let Manifest file work with the new placeholder app name field
- Change debug builds with suffixes to avoid production app collision
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
Test Orchestrator must be enabled, so that screenshot generation can walk through the app like a newly registered user. The screenshots are stored outside of the app's storage directory, so that Test Orchestrator does not delete them. Because hard-coded paths are used, it is possible this could be brittle with future versions of Android
A future enhancement would be to also copy these screenshots off of tests run on Firebase Test Lab. This would likely involve configuring Fladle/Flank with additional directories to pull.
Besides bumping the version, we can now integrate this plugin the same way we do the others. The version is now declared in the settings.gradle.kts.
The change is a bit noisy, due to needing to move our repository restrictions around.
Note that the SDK master branch contains breaking API changes, which the Secant app hasn't yet been updated to support, so enabling an included build will have compile failures.
Updating the Compose compiler must happen in lockstep with the Kotlin version, because they are tightly coupled
Kotlin 1.6 also fixes some annoying issues with Java 17, which will make first-time setup less error prone for new contributors
This implements the logical flow between the onboarding stages, as well as nearly full test coverage of the flow.
There's a lot of followup work, especially to implement design styles. It currently contains various placeholder values, e.g. lorem ipsum text and color blocks instead of images. See #17