Revision control
Copy as Markdown
# In general, these versions should be kept in sync with AC to avoid introducing
# possible conflicts and compatibility issues. This primarily applies to dependencies
# for shipping code, however. Libraries used only for the build system or testing
# can be safely bumped when convenient.
[versions]
# AGP
android-plugin = "8.10.1"
# Google
protobuf = "4.31.1"
protobuf-plugin = "0.9.5"
# Kotlin
kotlin-compiler = "2.1.21"
kotlin-coroutines = "1.10.2"
# Mozilla
android-components = "139.0.4"
glean = "64.4.0"
rust-android-gradle = "0.9.6"
# AndroidX
androidx-annotation = "1.9.1"
androidx-core = "1.16.0"
# JNA
jna = "5.14.0" # Don't update until Android 5/6 support is dropped
# Linting and Static Analysis
detekt = "1.23.8"
ktlint = "0.50.0"
# AndroidX Testing
androidx-test = "1.6.1"
androidx-test-espresso = "3.6.1"
androidx-test-junit = "1.2.1"
androidx-test-runner = "1.6.2"
androidx-work = "2.10.1"
# Third Party Testing
junit4 = "4.13.2"
junit5 = "5.13.1"
mockito = "5.17.0"
robolectric = "4.14.1"
# Miscellaneous Gradle plugins
gradle-download-task = "5.6.0"
python-envs-plugin = "0.0.31"
[libraries]
# AGP
tools-android-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-plugin" }
# Google
protobuf-javalite = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" }
protobuf-compiler = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" }
# Kotlin
kotlin-gradle-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin-compiler" }
kotlin-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlin-coroutines" }
# Mozilla
mozilla-concept-fetch = { group = "org.mozilla.components", name = "concept-fetch", version.ref = "android-components" }
mozilla-glean = { group = "org.mozilla.telemetry", name = "glean", version.ref = "glean" }
mozilla-glean-gradle-plugin = { group = "org.mozilla.telemetry", name = "glean-gradle-plugin", version.ref = "glean" }
mozilla-glean-forUnitTests = { group = "org.mozilla.telemetry", name = "glean-native-forUnitTests", version.ref = "glean" }
mozilla-rust-android-gradle = { group = "org.mozilla.rust-android-gradle", name = "plugin", version.ref = "rust-android-gradle" }
# AndroidX
androidx-annotation = { group = "androidx.annotation", name = "annotation", version.ref = "androidx-annotation" }
androidx-core = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core" }
# JNA
jna = { group = "net.java.dev.jna", name = "jna", version.ref = "jna" }
# Linting and Static Analysis
ktlint = { module = "com.pinterest:ktlint", version.ref = "ktlint" }
# AndroidX Testing
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-test-espresso" }
androidx-test-core = { group = "androidx.test", name = "core-ktx", version.ref = "androidx-test" }
androidx-test-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidx-test-junit" }
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidx-test-runner" }
androidx-work-testing = { group = "androidx.work", name = "work-testing", version.ref = "androidx-work" }
test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-test-espresso" }
# Third Party Testing
junit4 = { group = "junit", name = "junit", version.ref = "junit4" }
junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit5" }
junit-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter" }
junit-platform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" }
junit-vintage = { group = "org.junit.vintage", name = "junit-vintage-engine" }
testing-mockito = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
testing-robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
[plugins]
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
gradle-download-task = { id = "de.undercouch.download", version.ref = "gradle-download-task" }
python-envs-plugin = {id = "com.jetbrains.python.envs", version.ref = "python-envs-plugin"}
protobuf-plugin = { id = "com.google.protobuf", version.ref = "protobuf-plugin" }