License Screen: Java/XML to Kotlin/Compose migration#122
Conversation
| implementation(libs.androidx.camera.camera2) | ||
| implementation(libs.androidx.camera.compose) | ||
| implementation(libs.androidx.camera.core) | ||
| implementation(libs.androidx.camera.lifecycle) | ||
| implementation(libs.androidx.camera.video) | ||
| implementation(libs.androidx.paging.compose) | ||
| implementation(libs.androidx.paging.runtime) |
There was a problem hiding this comment.
Perhaps we need to incorporate the license generation script as a Gradle plugin so that it's auto-generated for us, e.g. these dependencies are not in the .html, and some of the versions don't match the actual versions in libs.versions.toml, e.g. org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2 is in the html, but the app actual uses version coroutines = "1.11.0"
There was a problem hiding this comment.
Thanks for catching this. I forgot to refresh the dependency cache after bumping versions in libs.versions.toml, so the script regenerated the HTML against stale input.
Agreed on moving this into Gradle. I'll try to replace the script with a Gradle task in this PR.
There was a problem hiding this comment.
Done - added a Gradle plugin under buildSrc/ (id("messaging.licenses")). Generation is now ./gradlew :app:generateLicenses.
Also regenerated assets/licenses.html against the current resolution graph.
Note: I leaned on AI for the implementation, but went through every file myself and verified the output after each step.
Migrated the Open Source Licenses screen from Java + XML to Kotlin + Compose. Added a script for generating the licenses HTML - see PR. Also updated libraries from the Conversation screen PR to avoid conflicts and code duplication.
Screenshots