[versions]
# -----------------------------------------------------------------------------
# All of the following should be updated in sync.
# -----------------------------------------------------------------------------
androidGradlePlugin = "8.4.0-alpha12"
# NOTE: When updating the lint version we also need to update the `api` version
# supported by `IssueRegistry`'s.' For e.g. r.android.com/1331903
androidLint = "31.4.0-alpha12"
# Once you have a chosen version of AGP to upgrade to, go to
# https://developer.android.com/studio/archive and find the matching version of Studio.
androidStudio = "2023.3.1.12"
# -----------------------------------------------------------------------------

androidGradlePluginMin = "7.0.4"
androidLintMin = "30.0.4"
androidLintMinCompose = "30.0.0"
androidxTestRunner = "1.6.0-alpha06"
androidxTestRules = "1.6.0-alpha03"
androidxTestMonitor = "1.7.0-alpha04"
androidxTestCore = "1.6.0-alpha05"
androidxTestExtJunit = "1.2.0-alpha03"
androidxTestExtTruth = "1.6.0-alpha03"
annotationVersion = "1.7.0"
atomicFu = "0.17.0"
autoService = "1.0-rc6"
autoValue = "1.6.3"
binaryCompatibilityValidator = "0.15.0-Beta.2"
byteBuddy = "1.14.9"
asm = "9.7"
cmake = "3.22.1"
composeCompilerPlugin = "1.5.11"  # Update when pulling in new stable binaries
dagger = "2.49"
dexmaker = "2.28.3"
dokka = "1.8.20-dev-214"
espresso = "3.6.0-alpha03"
espressoDevice = "1.0.0-alpha08"
grpc = "1.52.0"
guavaJre = "31.1-jre"
hilt = "2.49"
incap = "0.2"
jcodec = "0.2.5"
kotlin17 = "1.7.10"
kotlin18 = "1.8.22"
kotlin19 = "1.9.23"
kotlin = "1.9.23"
kotlinBenchmark = "0.4.8"
kotlinNative = "1.9.23"
kotlinCompileTesting = "1.4.9"
kotlinCoroutines = "1.7.3"
kotlinSerialization = "1.6.3"
ksp = "1.9.23-1.0.19"
ktfmt = "0.45"
ktlint = "0.49.1"
leakcanary = "2.13"
media3 = "1.1.0"
metalava = "1.0.0-alpha10"
mockito = "2.25.0"
moshi = "1.13.0"
protobuf = "3.22.3"
skiko = "0.7.7"
spdxGradlePlugin = "0.6.0"
sqldelight = "1.3.0"
retrofit = "2.7.2"
wire = "4.9.7"
core = "1.12.0"

[libraries]
agpTestingPlatformCoreProto =  { module = "com.google.testing.platform:core-proto", version = "0.0.8-alpha08" }
androidAccessibilityFramework = { module = "com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework", version = { strictly = "2.1" } }
androidBuilderModelMin = { module = "com.android.tools.build:builder-model", version.ref = "androidGradlePluginMin" }
androidGradlePluginApi = { module = "com.android.tools.build:gradle-api", version.ref = "androidGradlePlugin" }
androidGradlePluginz = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
androidLayoutlibApi = { module = "com.android.tools.layoutlib:layoutlib-api", version.ref = "androidLint" }
androidLint = { module = "com.android.tools.lint:lint", version.ref = "androidLint" }
androidLintMin = { module = "com.android.tools.lint:lint", version.ref = "androidLintMin" }
androidLintApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLint" }
androidLintMinApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLintMin" }
androidLintMinComposeApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLintMinCompose" }
androidLintChecks = { module = "com.android.tools.lint:lint-checks", version.ref = "androidLint" }
androidLintChecksMin = { module = "com.android.tools.lint:lint-checks", version.ref = "androidLintMin" }
androidLintTests = { module = "com.android.tools.lint:lint-tests", version.ref = "androidLint" }
androidToolsCommon = { module = "com.android.tools:common", version.ref = "androidLint" }
androidToolsNinepatch = { module = "com.android.tools:ninepatch", version.ref = "androidLint" }
androidToolsRepository= { module = "com.android.tools:repository", version.ref = "androidLint" }
androidToolsSdkCommon = { module = "com.android.tools:sdk-common", version.ref = "androidLint" }
androidToolsAnalyticsProtos = { module = "com.android.tools.analytics-library:protos", version.ref = "androidLint" }
androidKotlinMultiplatform = { module = "com.android.kotlin.multiplatform.library:com.android.kotlin.multiplatform.library.gradle.plugin", version.ref = "androidGradlePlugin" }
androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "annotationVersion" }
autoCommon = { module = "com.google.auto:auto-common", version = "1.2.1" }
atomicFu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicFu" }
atomicFuPluginz = { module = "org.jetbrains.kotlinx:atomicfu-gradle-plugin", version.ref = "atomicFu" }
autoServiceAnnotations = { module = "com.google.auto.service:auto-service-annotations", version.ref = "autoService" }
autoService = { module = "com.google.auto.service:auto-service", version.ref = "autoService" }
autoValue = { module = "com.google.auto.value:auto-value", version.ref = "autoValue" }
autoValueAnnotations = { module = "com.google.auto.value:auto-value-annotations", version.ref = "autoValue" }
autoValueParcel = { module = "com.ryanharter.auto.value:auto-value-parcel", version = "0.2.6" }
antlr4 = { module = "org.antlr:antlr4", version = "4.13.1" }
apacheAnt = { module = "org.apache.ant:ant", version = "1.10.11" }
apacheCommonsCodec = { module = "commons-codec:commons-codec", version = "1.15" }
apacheCommonIo = { module = "commons-io:commons-io", version = "2.4" }
apacheCommonsMath = { module = "org.apache.commons:commons-math3", version = "3.6.1" }
assertj = { module = "org.assertj:assertj-core", version = "3.23.1" }
asm = { module = "org.ow2.asm:asm", version.ref = "asm"}
asmCommons = { module = "org.ow2.asm:asm-commons", version.ref = "asm"}
binaryCompatibilityValidator = { module = "org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin", version.ref = "binaryCompatibilityValidator"}
byteBuddy = { module = "net.bytebuddy:byte-buddy", version.ref = "byteBuddy" }
byteBuddyAgent = { module = "net.bytebuddy:byte-buddy-agent", version.ref = "byteBuddy" }
checkerframework = { module = "org.checkerframework:checker-qual", version = "2.5.3" }
checkmark = { module = "net.saff.checkmark:checkmark", version = "0.1.6" }
constraintLayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.0.1"}
dackka = { module = "com.google.devsite:dackka", version = "1.5.2" }
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
daggerCompiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
desugarJdkLibs = { module = "com.android.tools:desugar_jdk_libs", version = "2.0.3" }
dexmakerMockito = { module = "com.linkedin.dexmaker:dexmaker-mockito", version.ref = "dexmaker" }
dexmakerMockitoInline = { module = "com.linkedin.dexmaker:dexmaker-mockito-inline", version.ref = "dexmaker" }
dexmakerMockitoInlineExtended = { module = "com.linkedin.dexmaker:dexmaker-mockito-inline-extended", version.ref = "dexmaker" }
dokkaCli = { module = "org.jetbrains.dokka:dokka-cli", version.ref = "dokka" }
dokkaAnalysis = { module = "org.jetbrains.dokka:dokka-analysis", version.ref = "dokka" }
dokkaAnalysisIntellij = { module = "org.jetbrains.dokka:kotlin-analysis-intellij", version.ref = "dokka" }
dokkaAnalysisCompiler = { module = "org.jetbrains.dokka:kotlin-analysis-compiler", version.ref = "dokka" }
dokkaAndroidDocumentation = { module = "org.jetbrains.dokka:android-documentation-plugin", version.ref = "dokka" }
dokkaAllModules = { module = "org.jetbrains.dokka:all-modules-page-plugin", version.ref = "dokka" }
dokkaBase = { module = "org.jetbrains.dokka:dokka-base", version.ref = "dokka" }
dokkaTemplating = { module = "org.jetbrains.dokka:templating-plugin", version.ref = "dokka" }
dom4j = { module = "org.dom4j:dom4j", version = "2.1.3" }
espressoAccessibility = { module = "androidx.test.espresso:espresso-accessibility", version.ref = "espresso" }
espressoContribInternal = { module = "androidx.test.espresso:espresso-contrib", version.ref = "espresso" }
espressoCore = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" }
espressoDevice = { module = "androidx.test.espresso:espresso-device", version.ref = "espressoDevice" }
espressoIdlingConcurrent = { module = "androidx.test.espresso.idling:idling-concurrent", version.ref = "espresso" }
espressoIdlingNet = { module = "androidx.test.espresso.idling:idling-net", version.ref = "espresso" }
espressoIdlingResource = { module = "androidx.test.espresso:espresso-idling-resource", version.ref = "espresso" }
espressoIntents = { module = "androidx.test.espresso:espresso-intents", version.ref = "espresso" }
espressoRemote = { module = "androidx.test.espresso:espresso-remote", version.ref = "espresso" }
espressoWeb = { module = "androidx.test.espresso:espresso-web", version.ref = "espresso" }
errorProne = { module = "com.google.errorprone:error_prone_core", version = "2.23.0" }
findbugs = { module = "com.google.code.findbugs:jsr305", version = "3.0.2" }
firebaseAppindexing = { module = "com.google.firebase:firebase-appindexing", version = "19.2.0" }
freemarker = { module = "org.freemarker:freemarker", version = "2.3.31"}
googletest = { module = "com.android.ndk.thirdparty:googletest", version = "1.11.0-beta-1" }
hiltAndroid = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hiltAndroidTesting = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" }
hiltAndroidGradlePluginz = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" }
hiltCompiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
hiltCore = { module = "com.google.dagger:hilt-core", version.ref = "hilt" }
intellijAnnotations = { module = "com.intellij:annotations", version = "12.0" }
javapoet = { module = "com.squareup:javapoet", version = "1.13.0" }
jcodec = { module = "org.jcodec:jcodec", version.ref = "jcodec" }
jcodecJavaSe = { module = "org.jcodec:jcodec-javase", version.ref = "jcodec" }
json = { module = "org.json:json", version = "20180813" }
jsoup = { module = "org.jsoup:jsoup", version = "1.16.2" }
jsqlparser = { module = "com.github.jsqlparser:jsqlparser", version = "3.1" }
jsr250 = { module = "javax.annotation:javax.annotation-api", version = "1.2" }
junit = { module = "junit:junit", version = "4.13.2" }
gcmNetworkManager = { module = "com.google.android.gms:play-services-gcm", version = "17.0.0" }
googleCompileTesting = { module = "com.google.testing.compile:compile-testing", version = "0.18" }
grpcAndroid = { module = "io.grpc:grpc-android", version.ref = "grpc" }
grpcBinder = { module = "io.grpc:grpc-binder", version.ref = "grpc" }
grpcProtobufCompiler = { module = "io.grpc:protoc-gen-grpc-java", version.ref = "grpc" }
grpcProtobufLite = { module = "io.grpc:grpc-protobuf-lite", version.ref = "grpc" }
grpcStub = { module = "io.grpc:grpc-stub", version.ref = "grpc" }
grpcTesting = { module = "io.grpc:grpc-testing", version.ref = "grpc" }
gson = { module = "com.google.code.gson:gson", version = "2.9.0" }
guava = { module = "com.google.guava:guava", version.ref = "guavaJre" }
guavaAndroid = { module = "com.google.guava:guava", version = "31.1-android" }
guavaListenableFuture = { module = "com.google.guava:listenablefuture", version = "1.0" }
guavaTestlib = { module = "com.google.guava:guava-testlib", version.ref = "guavaJre" }
gradleIncapHelper = { module = "net.ltgt.gradle.incap:incap", version.ref = "incap" }
gradleIncapHelperProcessor = { module = "net.ltgt.gradle.incap:incap-processor", version.ref = "incap" }
kotlinAnnotationProcessingEmbeddable = { module = "org.jetbrains.kotlin:kotlin-annotation-processing-embeddable" }
kotlinBenchmarkRuntime = { module = "org.jetbrains.kotlinx:kotlinx-benchmark-runtime", version.ref = "kotlinBenchmark" }
kotlinBom = { module = "org.jetbrains.kotlin:kotlin-bom", version.ref = "kotlin" }
kotlinCompiler = { module = "org.jetbrains.kotlin:kotlin-compiler", version.ref = "kotlin" }
kotlinCompilerEmbeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable" }
kotlinCompileTesting = { module = "com.github.tschuchortdev:kotlin-compile-testing", version.ref = "kotlinCompileTesting" }
kotlinCompileTestingKsp = { module = "com.github.tschuchortdev:kotlin-compile-testing-ksp", version.ref = "kotlinCompileTesting" }
kotlinCoroutinesAndroid = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinCoroutines" }
kotlinCoroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinCoroutines" }
kotlinCoroutinesCore = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines" }
kotlinCoroutinesGuava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinCoroutines" }
kotlinCoroutinesPlayServices = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinCoroutines" }
kotlinCoroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinCoroutines" }
kotlinCoroutinesRx2 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-rx2", version.ref = "kotlinCoroutines" }
kotlinCoroutinesRx3 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-rx3", version.ref = "kotlinCoroutines" }
kotlinDaemonEmbeddable = { module = "org.jetbrains.kotlin:kotlin-daemon-embeddable" }
kotlinKlibCommonizer = { module = "org.jetbrains.kotlin:kotlin-klib-commonizer" }
kotlinMetadataJvm = { module = "org.jetbrains.kotlinx:kotlinx-metadata-jvm", version = "0.9.0" }
kotlinSerializationCore = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinSerialization" }
kotlinSerializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinSerialization" }
kotlinSerializationJsonOkio = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json-okio", version.ref = "kotlinSerialization" }
kotlinSerializationProtobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "kotlinSerialization" }
kotlinGradlePluginz = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
kotlinStdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib" }
kotlinStdlibCommon = { module = "org.jetbrains.kotlin:kotlin-stdlib-common" }
kotlinStdlibJdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8" }
kotlinStdlibJs = { module = "org.jetbrains.kotlin:kotlin-stdlib-js" }
kotlinTest = { module = "org.jetbrains.kotlin:kotlin-test" }
kotlinTestAnnotationsCommon = { module = "org.jetbrains.kotlin:kotlin-test-annotations-common" }
kotlinTestCommon = { module = "org.jetbrains.kotlin:kotlin-test-common" }
kotlinTestJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit" }
kotlinTestJs = { module = "org.jetbrains.kotlin:kotlin-test-js" }
kotlinReflect = { module = "org.jetbrains.kotlin:kotlin-reflect" }
kotlinPoet = { module = "com.squareup:kotlinpoet", version = "1.14.2" }
kotlinPoetJavaPoet = { module = "com.squareup:kotlinpoet-javapoet", version = "1.14.2" }
kotlinXHtml = { module = "org.jetbrains.kotlinx:kotlinx-html-jvm", version = "0.7.3" }
ksp = { module = "com.google.devtools.ksp:symbol-processing", version.ref = "ksp" }
kspApi = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" }
kspGradlePluginz = { module = "com.google.devtools.ksp:symbol-processing-gradle-plugin", version.ref = "ksp" }
ktfmt = { module = "com.facebook:ktfmt", version.ref = "ktfmt" }
kxml2 = { module = "net.sf.kxml:kxml2", version = "2.3.0" }
leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
leakcanaryInstrumentation = { module = "com.squareup.leakcanary:leakcanary-android-instrumentation", version.ref = "leakcanary" }
material = { module = "com.google.android.material:material", version = "1.2.1" }
media3Common = { module = "androidx.media3:media3-common", version.ref = "media3" }
media3Cast = { module = "androidx.media3:media3-cast", version.ref = "media3" }
media3Decoder = { module = "androidx.media3:media3-decoder", version.ref = "media3" }
media3Effect = { module = "androidx.media3:media3-effect", version.ref = "media3" }
media3Exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
media3Extractor = { module = "androidx.media3:media3-extractor", version.ref = "media3" }
media3Session = { module = "androidx.media3:media3-session", version.ref = "media3" }
media3TestUtils = { module = "androidx.media3:media3-test-utils", version.ref = "media3" }
media3Transformer = { module = "androidx.media3:media3-transformer", version.ref = "media3" }
media3Ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
metalava = { module = "com.android.tools.metalava:metalava", version.ref = "metalava" }
mlkitBarcode = { module = "com.google.mlkit:barcode-scanning", version = "17.0.2" }
mockitoCore = { module = "org.mockito:mockito-core", version.ref = "mockito" }
mockitoCore4 = { module = "org.mockito:mockito-core", version = "4.8.0" }
mockitoAndroid = { module = "org.mockito:mockito-android", version.ref = "mockito" }
mockitoAndroid5 = { module = "org.mockito:mockito-android", version = "5.8.0" }
mockitoKotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "2.2.11" }
mockitoKotlin4 = { module = "org.mockito.kotlin:mockito-kotlin", version = "4.0.0" }
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
moshiAdapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
moshiCodeGen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
multidex = { module = "androidx.multidex:multidex", version = "2.0.1" }
nullaway = { module = "com.uber.nullaway:nullaway", version = "0.10.18" }
okhttpMockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version = "3.14.7" }
okio = { module = "com.squareup.okio:okio", version = "3.4.0" }
opentest4j = { module = "org.opentest4j:opentest4j", version = "1.2.0" }
playFeatureDelivery = { module = "com.google.android.play:feature-delivery", version = "2.0.1" }
playCore = { module = "com.google.android.play:core", version = "1.10.3" }
playServicesAuth = {module = "com.google.android.gms:play-services-auth", version = "20.7.0"}
playServicesBase = { module = "com.google.android.gms:play-services-base", version = "17.0.0" }
playServicesBasement = { module = "com.google.android.gms:play-services-basement", version = "17.0.0" }
playServicesDevicePerformance = { module = "com.google.android.gms:play-services-deviceperformance", version = "16.0.0" }
playServicesFido = {module = "com.google.android.gms:play-services-fido", version = "20.1.0"}
playServicesWearable = { module = "com.google.android.gms:play-services-wearable", version = "17.1.0" }
protobuf = { module = "com.google.protobuf:protobuf-java", version.ref = "protobuf" }
protobufCompiler = { module = "com.google.protobuf:protoc", version.ref = "protobuf" }
protobufGradlePlugin = { module = "com.google.protobuf:protobuf-gradle-plugin", version = "0.9.4" }
protobufLite = { module = "com.google.protobuf:protobuf-javalite", version.ref = "protobuf" }
protobufKotlin = { module = "com.google.protobuf:protobuf-kotlin", version.ref = "protobuf" }
reactiveStreams = { module = "org.reactivestreams:reactive-streams", version = "1.0.0" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofitConverterWire = { module = "com.squareup.retrofit2:converter-wire", version.ref = "retrofit" }
robolectric = { module = "org.robolectric:robolectric", version = "4.11.1" }
rxjava2 = { module = "io.reactivex.rxjava2:rxjava", version = "2.2.9" }
rxjava3 = { module = "io.reactivex.rxjava3:rxjava", version = "3.0.0" }
shadow = { module = "com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin", version = "8.1.1" }
skiko = { module = "org.jetbrains.skiko:skiko-awt", version.ref = "skiko" }
skikoCommon = { module = "org.jetbrains.skiko:skiko", version.ref = "skiko" }
skikoMacOsArm64 = { module = "org.jetbrains.skiko:skiko-awt-runtime-macos-arm64", version.ref = "skiko" }
skikoMacOsX64 = { module = "org.jetbrains.skiko:skiko-awt-runtime-macos-x64", version.ref = "skiko" }
skikoWindowsX64 = { module = "org.jetbrains.skiko:skiko-awt-runtime-windows-x64", version.ref = "skiko" }
skikoLinuxX64 = { module = "org.jetbrains.skiko:skiko-awt-runtime-linux-x64", version.ref = "skiko" }
skikoLinuxArm64 = { module = "org.jetbrains.skiko:skiko-awt-runtime-linux-arm64", version.ref = "skiko" }
spdxGradlePluginz = { module = "org.spdx:spdx-gradle-plugin", version.ref = "spdxGradlePlugin" }
sqldelightAndroid = { module = "com.squareup.sqldelight:android-driver", version.ref = "sqldelight" }
sqldelightCoroutinesExt = { module = "com.squareup.sqldelight:coroutines-extensions", version.ref = "sqldelight" }
sqliteJdbc = { module = "org.xerial:sqlite-jdbc", version = "3.41.2.2" }
testCore = { module = "androidx.test:core", version.ref = "androidxTestCore" }
testCoreKtx = { module = "androidx.test:core-ktx", version.ref = "androidxTestCore" }
testExtJunit = { module = "androidx.test.ext:junit", version.ref = "androidxTestExtJunit" }
testExtJunitKtx = { module = "androidx.test.ext:junit-ktx", version.ref = "androidxTestExtJunit" }
testExtTruth = { module = "androidx.test.ext:truth", version.ref = "androidxTestExtTruth" }
testMonitor = { module = "androidx.test:monitor", version.ref = "androidxTestMonitor" }
testParameterInjector = { module = "com.google.testparameterinjector:test-parameter-injector", version = "1.9" }
testRules = { module = "androidx.test:rules", version.ref = "androidxTestRules" }
testRunner = { module = "androidx.test:runner", version.ref = "androidxTestRunner" }
testUiautomator = { module = "androidx.test.uiautomator:uiautomator", version = "2.2.0" }
truth = { module = "com.google.truth:truth", version = "1.0.1" }
toml = { module = "org.tomlj:tomlj", version = "1.0.0" }
viewBinding = { module = "androidx.databinding:viewbinding", version = "4.1.2" }
wireGradlePluginz = { module = "com.squareup.wire:wire-gradle-plugin", version.ref = "wire" }
wireRuntime = { module = "com.squareup.wire:wire-runtime", version.ref = "wire" }
xerces = { module = "xerces:xercesImpl", version = "2.12.0" }
xpp3 = { module = "xpp3:xpp3", version = "1.1.4c" }
xmlpull = { module = "xmlpull:xmlpull", version = "1.1.3.1" }
androidx-core = { group = "androidx.core", name = "core", version.ref = "core" }

[plugins]
kotlinBenchmark = { id = "org.jetbrains.kotlinx.benchmark", version.ref = "kotlinBenchmark" }
kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlinMp = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }

[bundles]
# prevent androidAccessibilityFramework 3.1 which pulls hamcrest 2.2, breaking espresso-core
# https://github.com/android/android-test/issues/1352
espressoContrib = ["androidAccessibilityFramework", "espressoContribInternal"]
