android/gradle/libs.versions.toml (104 lines of code) (raw):

[versions] group = "com.gu.source" libraryVersion = "0.8.4" compilesdk = "35" minsdk = "26" targetsdk = "34" java = "17" agp = "8.9.2" kotlin = "2.1.20" # Kotlinter version is tied closely to min & max Kotlin and Gradle versions. Update Kotlinter # when updating Kotlin. Check compatible versions here: # https://github.com/jeremymailen/kotlinter-gradle/blob/master/README.md#compatibility kotlinter = "5.0.1" activity = "1.10.1" appcompat = "1.7.0" coil = "2.7.0" composeBom = "2025.04.01" composeLint = "0.4.22" coreKtx = "1.16.0" detekt = "1.23.8" dokka = "2.0.0" inject = "1" kotlinx-collections-immutable = "0.3.8" licensee = "1.13.0" lifecycleRuntimeKtx = "2.8.7" lint-gradle = "1.0.0-alpha04" nexus-publish = "2.0.0" timber = "5.0.1" gradle-binary-compatibility = "0.17.0" metalava = "0.4.0-alpha03" junit = "4.13.2" espressoCore = "3.6.1" androidx-junit = "1.2.1" androidx-test-core = "1.6.1" androidx-test-rules = "1.6.1" androidx-test-runner = "1.6.2" testparameterinjector = "1.18" paparazzi = "1.3.5" # Convention plugin versions guardian-convention-plugins = "1" [libraries] androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } androidx-compose-material-ripple = { group = "androidx.compose.material", name = "material-ripple" } androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" } androidx-compose-material3-windowSize = { group = "androidx.compose.material3", name = "material3-window-size-class" } androidx-compose-uiTest = { group = "androidx.compose.ui", name = "ui-test-junit4" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } androidx-lint-gradle = { module = "androidx.lint:lint-gradle", version.ref = "lint-gradle" } androidx-ui = { group = "androidx.compose.ui", name = "ui" } androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" } dokka-android = { module = "org.jetbrains.dokka:android-documentation-plugin", version.ref = "dokka" } javax-inject = { group = "javax.inject", name = "javax.inject", version.ref = "inject" } kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" } kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinx-collections-immutable" } other-timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } # This is temporarily required till detekt catches up with the latest Kotlin version kotlin-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlin" } junit = { group = "junit", name = "junit", version.ref = "junit" } kotlin-test-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } androidx-junit-ktx = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidx-junit" } androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidx-test-rules" } androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidx-test-core" } androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidx-test-runner" } google-testParameterInjector = { group = "com.google.testparameterinjector", name = "test-parameter-injector", version.ref = "testparameterinjector" } # Dependencies of the included build-logic android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "agp" } kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } detekt-gradlePlugin = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version.ref = "detekt" } kotlinter-gradlePlugin = { module = "org.jmailen.kotlinter:org.jmailen.kotlinter.gradle.plugin", version.ref = "kotlinter" } composeCompiler-gradlePlugin = { group = "org.jetbrains.kotlin", name = "compose-compiler-gradle-plugin", version.ref = "kotlin" } dokka-gradlePlugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } # These rules are now maintained independently by Nacho Lopez who originally created them at # Twitter: https://github.com/mrmans0n/compose-rules other-composeLint = { group = "io.nlopez.compose.rules", name = "ktlint", version.ref = "composeLint" } [plugins] android-lint = { id = "com.android.lint", version.ref = "agp"} agp-application = { id = "com.android.application", version.ref = "agp" } agp-library = { id = "com.android.library", version.ref = "agp" } agp-test = { id = "com.android.test", version.ref = "agp" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } licensee = { id = "app.cash.licensee", version.ref = "licensee" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } kgp = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlinter = { id = "org.jmailen.kotlinter", version.ref = "kotlinter" } paparazzi = { id = "app.cash.paparazzi", version.ref = "paparazzi" } dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } gradle-binaryCompatibility = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "gradle-binary-compatibility" } metalava = { id = "me.tylerbwong.gradle.metalava", version.ref = "metalava"} nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexus-publish" } # Guardian's convention plugins guardian-application = { id = "com.theguardian.application", version.ref = "guardian-convention-plugins" } guardian-library-android = { id = "com.theguardian.library.android", version.ref = "guardian-convention-plugins" } guardian-test-android = { id = "com.theguardian.test.android", version.ref = "guardian-convention-plugins" } guardian-library-kotlin = { id = "com.theguardian.library.kotlin", version.ref = "guardian-convention-plugins" } guardian-compose-library = { id = "com.theguardian.compose.library", version.ref = "guardian-convention-plugins" } guardian-compose-application = { id = "com.theguardian.compose.application", version.ref = "guardian-convention-plugins" }