[versions]
# -----------------------------------------------------------------------------
# All of the following should be updated in sync.
# -----------------------------------------------------------------------------
androidGradlePlugin = "7.4.0-alpha08"
# 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 = "30.4.0-alpha08"
# 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 = "2022.1.1.8"
# -----------------------------------------------------------------------------

androidGradlePluginMin = "7.0.4"
androidLintMin = "30.0.4"
androidLintMinCompose = "30.0.0"
androidxTestRunner = "1.4.0"
androidxTestRules = "1.4.0"
androidxTestMonitor = "1.5.0"
androidxTestCore = "1.4.0"
androidxTestExtJunit = "1.1.3"
androidxTestExtTruth = "1.4.0"
atomicFu = "0.17.0"
autoService = "1.0-rc6"
autoValue = "1.6.3"
cmake = "3.22.1"
dagger = "2.42"
dexmaker = "2.25.0"
espresso = "3.5.0-alpha06"
guavaJre = "31.1-jre"
hilt = "2.42"
incap = "0.2"
kotlin = "1.7.10"
kotlinNative = "1.7.10"
kotlinCompileTesting = "1.4.1"
kotlinCoroutines = "1.6.1"
ksp = "1.7.10-1.0.6"
ktlint = "0.46.0-20220520.192227-74"
leakcanary = "2.8.1"
metalava = "1.0.0-alpha06"
mockito = "2.25.0"
protobuf = "3.19.4"
skiko = "0.7.7"
sqldelight = "1.3.0"
wire = "3.6.0"

[libraries]
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" }
androidGradlePluginz = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
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" }
autoCommon = { module = "com.google.auto:auto-common", version = "0.11" }
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.7.1" }
apacheCommonsCodec = { module = "commons-codec:commons-codec", version = "1.15" }
assertj = { module = "org.assertj:assertj-core", version = "3.11.1" }
checkerframework = { module = "org.checkerframework:checker-qual", version = "2.5.3" }
checkmark = { module = "net.saff.checkmark:checkmark", version = "0.1.2" }
constraintLayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.0.1"}
dackka = { module = "com.google.devsite:dackka", version = "0.0.18" }
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
daggerCompiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
dexmakerMockito = { module = "com.linkedin.dexmaker:dexmaker-mockito", version.ref = "dexmaker" }
dexmakerMockitoInline = { module = "com.linkedin.dexmaker:dexmaker-mockito-inline", version.ref = "dexmaker" }
dexMemberList = { module = "com.jakewharton.dex:dex-member-list", version = "4.1.1" }
dokkaGradlePluginz = { module = "org.jetbrains.dokka:dokka-android-gradle-plugin", version = "0.9.17-g014" }
dom4j = { module = "org.dom4j:dom4j", version = "2.1.3" }
espressoContribInternal = { module = "androidx.test.espresso:espresso-contrib", version.ref = "espresso" }
espressoCore = { module = "androidx.test.espresso:espresso-core", 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" }
espressoWeb = { module = "androidx.test.espresso:espresso-web", version.ref = "espresso" }
findbugs = { module = "com.google.code.findbugs:jsr305", version = "3.0.2" }
firebaseAppindexing = { module = "com.google.firebase:firebase-appindexing", version = "19.2.0" }
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" }
japicmpPluginz = { module = "me.champeau.gradle:japicmp-gradle-plugin", version = "0.2.9" }
javapoet = { module = "com.squareup:javapoet", version = "1.13.0" }
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" }
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" }
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", version.ref = "kotlin" }
kotlinCompiler = { module = "org.jetbrains.kotlin:kotlin-compiler", version.ref = "kotlin" }
kotlinCompilerEmbeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlin" }
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", version.ref = "kotlin" }
kotlinKlibCommonizer = { module = "org.jetbrains.kotlin:kotlin-klib-commonizer", version.ref = "kotlin" }
kotlinMetadataJvm = { module = "org.jetbrains.kotlinx:kotlinx-metadata-jvm", version = "0.5.0" }
kotlinStdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
kotlinStdlibCommon = { module = "org.jetbrains.kotlin:kotlin-stdlib-common", version.ref = "kotlin" }
kotlinStdlibJdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
kotlinStdlibJs = { module = "org.jetbrains.kotlin:kotlin-stdlib-js", version.ref = "kotlin" }
kotlinGradlePluginz = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
kotlinTest = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
kotlinTestAnnotationsCommon = { module = "org.jetbrains.kotlin:kotlin-test-annotations-common", version.ref = "kotlin" }
kotlinTestCommon = { module = "org.jetbrains.kotlin:kotlin-test-common", version.ref = "kotlin" }
kotlinTestJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
kotlinTestJs = { module = "org.jetbrains.kotlin:kotlin-test-js", version.ref = "kotlin" }
kotlinReflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
kotlinPoet = { module = "com.squareup:kotlinpoet", version = "1.12.0" }
kotlinPoetJavaPoet = { module = "com.squareup:kotlinpoet-javapoet", version = "1.12.0" }
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" }
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" }
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" }
mockitoAndroid = { module = "org.mockito:mockito-android", version.ref = "mockito" }
mockitoKotlin = { module = "com.nhaarman.mockitokotlin2:mockito-kotlin", version = "2.1.0" }
mockitoKotlin4 = { module = "org.mockito.kotlin:mockito-kotlin", version = "4.0.0" }
multidex = { module = "androidx.multidex:multidex", version = "2.0.1" }
nullaway = { module = "com.uber.nullaway:nullaway", version = "0.3.7" }
okhttpMockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version = "3.14.7" }
okio = { module = "com.squareup.okio:okio", version = "3.0.0" }
playCore = { module = "com.google.android.play:core", version = "1.10.3" }
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" }
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" }
protobufGradlePluginz = { module = "com.google.protobuf:protobuf-gradle-plugin", version = "0.8.18" }
protobufLite = { module = "com.google.protobuf:protobuf-javalite", version.ref = "protobuf" }
reactiveStreams = { module = "org.reactivestreams:reactive-streams", version = "1.0.0" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version = "2.7.2" }
robolectric = { module = "org.robolectric:robolectric", version = "4.8.1" }
rxjava2 = { module = "io.reactivex.rxjava2:rxjava", version = "2.2.9" }
rxjava3 = { module = "io.reactivex.rxjava3:rxjava", version = "3.0.0" }
shadow = { module = "gradle.plugin.com.github.johnrengelman:shadow", version = "7.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" }
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.36.0" }
testCore = { module = "androidx.test:core", 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" }
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" }

[plugins]
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"]
