Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

133 lines
9.1 KiB
TOML

[versions]
minSdk = "23"
compileSdk = "34"
kotlin = "1.9.22"
agp = "8.3.1" # https://maven.google.com/web/index.html?q=gradle.plugin#com.android.library:com.android.library.gradle.plugin
compose-multiplatform = "1.6.1" # https://github.com/JetBrains/compose-multiplatform/releases
androidx-compose-runtime = "1.6.3" # https://developer.android.com/jetpack/androidx/releases/compose
androidx-compose-ui = "1.6.3"
androidx-compose-ui-material3 = "1.2.1" # https://developer.android.com/jetpack/androidx/releases/compose-material3
androidx-annotation = "1.7.1"
androidx-compose-compiler = "1.5.10"
androidx-appcompat = "1.6.1"
androidx-activity = "1.8.2" # https://developer.android.com/jetpack/androidx/releases/activity
androidx-exif = "1.3.7" # https://developer.android.com/jetpack/androidx/releases/exifinterface
androidx-tracing = "1.2.0" # https://developer.android.com/jetpack/androidx/releases/tracing
androidx-ktx = "1.12.0" # https://developer.android.com/jetpack/androidx/releases/core
androidx-ktx-palette = "1.0.0"
androidx-test-core = "1.6.0-alpha05" # https://developer.android.com/jetpack/androidx/releases/test
androidx-test-rules = "1.6.0-alpha03" # https://developer.android.com/jetpack/androidx/releases/test
androidx-test-runner = "1.6.0-alpha06" # https://developer.android.com/jetpack/androidx/releases/test
androidx-test-junit = "1.1.5"
androidx-test-uiautomator = "2.3.0" # https://developer.android.com/jetpack/androidx/releases/test-uiautomator
accompanist = "0.32.0" # https://github.com/google/accompanist/releases
testParamInjector = "1.15"
junit = "4.13.2"
coil = "2.5.0"
glide = "4.15.1"
turbine = "1.0.0" # https://github.com/cashapp/turbine/releases/
paparazzi = "1.3.2" # https://github.com/cashapp/paparazzi/releases
molecule = "1.4.1" # https://github.com/cashapp/molecule/releases
leakcanary = "3.0-alpha-1" # https://square.github.io/leakcanary/changelog/
kotlinx-coroutines = "1.8.0" # https://github.com/kotlin/kotlinx.coroutines/releases
mavenPublish = "0.27.0"
dropshots = "0.4.1"
dropboxDiffer = "0.0.1"
emulatorWtf = "0.15.1" # https://docs.emulator.wtf/changelog/
emulatorWtfCli = "0.10.9" # https://docs.emulator.wtf/changelog/
okio = "3.9.0"
okhttp-mockWebServer = "4.11.0"
dokka = "1.9.10"
assertk = "0.28.0"
circuit = "0.13.0-beta01"
espresso-core = "3.5.1"
uiautomator = "2.3.0"
benchmark-macro-junit4 = "1.2.3"
metalava = "0.3.5" # https://github.com/tylerbwong/metalava-gradle/releases
poko = "0.15.2" # https://github.com/drewhamilton/Poko/blob/main/CHANGELOG.md
composeLintChecks = "1.2.0" # https://slackhq.github.io/compose-lints/changelog/
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
android-library = { id = "com.android.library", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
jetbrains-compose = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
paparazzi = { id = "app.cash.paparazzi", version.ref = "paparazzi" }
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
mavenPublish = { id = "com.vanniktech.maven.publish", version.ref = "mavenPublish" }
dropshots = { id = "com.dropbox.dropshots", version.ref = "dropshots" }
emulatorWtf = { id = "wtf.emulator.gradle", version.ref = "emulatorWtf" }
metalava = { id = "me.tylerbwong.gradle.metalava", version.ref = "metalava" }
poko = { id = "dev.drewhamilton.poko", version.ref = "poko" }
[libraries]
# Build logic dependencies
plugin-agp = { module = "com.android.tools.build:gradle", version.ref = "agp" }
plugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
plugin-jetbrains-compose = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose-multiplatform" }
plugin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" }
plugin-mavenPublish = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "mavenPublish" }
plugin-dropshots = { module = "com.dropbox.dropshots:dropshots-gradle-plugin", version.ref = "dropshots" }
plugin-emulatorWtf = { module = "wtf.emulator:gradle-plugin", version.ref = "emulatorWtf" }
plugin-metalava = { module = "me.tylerbwong.gradle.metalava:plugin", version.ref = "metalava" }
plugin-poko = { module = "dev.drewhamilton.poko:poko-gradle-plugin", version.ref = "poko" }
androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidx-annotation" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
androidx-ktx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-ktx" }
androidx-ktx-palette = { module = "androidx.palette:palette-ktx", version.ref = "androidx-ktx-palette" }
androidx-activity = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity"}
androidx-exif = { module = "androidx.exifinterface:exifinterface", version.ref = "androidx-exif"}
androidx-tracing = { module = "androidx.tracing:tracing-ktx", version.ref = "androidx-tracing"}
androidx-test-ktx = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core" }
androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test-rules" }
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-runner" }
androidx-test-junit = { module = "androidx.test.ext:junit-ktx", version.ref = "androidx-test-junit" }
androidx-test-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "androidx-test-uiautomator" }
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmark-macro-junit4" }
androidx-compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "androidx-compose-compiler" }
# TODO remove compose libs in favor of declaring via jetbrains compose plugin
compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "androidx-compose-runtime" }
compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose-ui" }
compose-ui-util = { module = "androidx.compose.ui:ui-util", version.ref = "androidx-compose-ui" }
compose-ui-material3 = { module = "androidx.compose.material3:material3", version.ref = "androidx-compose-ui-material3" }
compose-ui-materialIcons = { module = "androidx.compose.material:material-icons-extended", version.ref = "androidx-compose-ui" }
compose-ui-test-junit = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "androidx-compose-ui" }
compose-ui-test-activityManifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidx-compose-ui" }
accompanist-drawablePainter = { module = "com.google.accompanist:accompanist-drawablepainter", version.ref = "accompanist" }
accompanist-systemUi = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" }
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
coil-gif = { module = "io.coil-kt:coil-gif", version.ref = "coil" }
coil-svg = { module = "io.coil-kt:coil-svg", version.ref = "coil" }
coil-test = { module = "io.coil-kt:coil-test", version.ref = "coil" }
glide-core = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
okio-core = { module = "com.squareup.okio:okio", version.ref = "okio" }
okio-fakeFileSystem = { module = "com.squareup.okio:okio-fakefilesystem", version.ref = "okio" }
okhttp-mockWebServer = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp-mockWebServer" }
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
molecule-runtime = { module = "app.cash.molecule:molecule-runtime", version.ref = "molecule" }
leakcanary-core = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
leakcanary-test = { module = "com.squareup.leakcanary:leakcanary-android-instrumentation", version.ref = "leakcanary" }
junit = { module = "junit:junit", version.ref = "junit" }
testParamInjector = { module = "com.google.testparameterinjector:test-parameter-injector", version.ref = "testParamInjector" }
dropshots = { module = "com.dropbox.dropshots:dropshots", version.ref = "dropshots" }
dropboxDiffer = { module = "com.dropbox.differ:differ", version.ref = "dropboxDiffer" }
assertk = { module = "com.willowtreeapps.assertk:assertk", version.ref = "assertk" }
circuit-runtime = { module = "com.slack.circuit:circuit-foundation", version.ref = "circuit" }
circuit-backstack = { module = "com.slack.circuit:circuit-backstack", version.ref = "circuit" }
composeLintChecks = { module = "com.slack.lint.compose:compose-lint-checks", version.ref = "composeLintChecks" }