[versions] agp = "9.3.2" kotlin = "2.4.10" compose-multiplatform = "1.12.0" # Compose Multiplatform's material3 is on its own release train, so it is # pinned separately rather than following the version above. Checked # 2026-08-28: the newest material3 is 1.12.0-alpha03, so 1.9.0 is still # the current *stable* one while runtime/foundation/ui are stable at # 1.12.0. Not a stale pin -- the two trains are simply this far apart. compose-material3 = "1.9.0" # The Gradle wrapper around ktfmt. Checked against the Gradle Plugin # Portal 2026-08-28: 0.27.0 is the latest, published 2026-08-03. ktfmt-gradle = "0.27.0" androidx-activityCompose = "1.13.0" # Checked against Maven Central 2026-08-25. zxing-embedded = "4.3.0" androidx-core-ktx = "1.17.0" [libraries] androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } # In-app QR scanner: a ready-made scanning Activity (camera preview, runtime # permission prompt, flashlight toggle) reached through the AndroidX Activity # Result API (ScanContract, added in 4.3.0). Fully offline -- no Play # Services / ML Kit model download involved. zxing-embedded = { module = "com.journeyapps:zxing-android-embedded", version.ref = "zxing-embedded" } # Required by the shared link library, which uses the KTX `edit` block. androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core-ktx" } # Declared directly rather than through the `compose.*` accessors, which # Compose Multiplatform 1.11 deprecates. compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose-multiplatform" } compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose-multiplatform" } compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose-multiplatform" } compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "compose-material3" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } # For the shared link subproject: a subproject resolves plugin versions # from the build including it rather than from its own. androidLibrary = { id = "com.android.library", version.ref = "agp" } composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" } composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } ktfmt = { id = "com.ncorti.ktfmt.gradle", version.ref = "ktfmt-gradle" }