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.0.2"
# Google
protobuf = "4.28.2"
# Kotlin
kotlin-compiler = "1.9.24"
kotlin-dsl = "4.5.0"
kotlinx-coroutines = "1.8.0"
# Mozilla
android-components = "131.0.2"
glean = "61.2.0"
rust-android-gradle = "0.9.4"
# AndroidX
androidx-annotation = "1.8.2"
androidx-core = "1.13.1"
# JNA
jna = "5.14.0"
# Linting and Static Analysis
detekt = "1.23.7"
ktlint = "0.50.0"
# AndroidX Testing
androidx-test-core = "1.6.1"
androidx-test-espresso = "3.6.1"
androidx-test-junit = "1.2.1"
androidx-test-runner = "1.6.1"
androidx-test-work = "2.9.1"
# Third Party Testing
junit = "5.11.2"
mockito = "5.14.1"
robolectric = "4.13"
# Miscellaneous Gradle plugins
gradle-download-task = "5.6.0"
protobuf-gradle = "0.9.4"
python-envs = "0.0.31"
[libraries]
# AGP
tools-android-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-plugin" }
# Google
protobuf = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" }
protoc = { 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" }
kotlinx-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-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-native-tests = { 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
test-core = { group = "androidx.test", name = "core-ktx", version.ref = "androidx-test-core" }
test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-test-espresso" }
test-junit-ext = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidx-test-junit" }
test-runner = { group = "androidx.test", name = "runner", version.ref = "androidx-test-runner" }
test-work = { group = "androidx.work", name = "work-testing", version.ref = "androidx-test-work" }
# Third Party Testing
junit = { group = "org.junit.vintage", name = "junit-vintage-engine", version.ref = "junit" }
mockito = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
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" }
gradle-python-envs = { id = "com.jetbrains.python.envs", version.ref = "python-envs" }
kotlin-dsl = { id = "org.gradle.kotlin.kotlin-dsl", version.ref = "kotlin-dsl"}
protobuf-gradle = { id = "com.google.protobuf", version.ref = "protobuf-gradle" }