pachli-android/gradle/libs.versions.toml

265 lines
17 KiB
TOML

[versions]
aboutlibraries = "11.2.1"
acra = "5.11.3"
agp = "8.5.0"
androidx-activity = "1.9.1"
androidx-appcompat = "1.7.0"
androidx-browser = "1.8.0"
androidx-cardview = "1.0.0"
androidx-constraintlayout = "2.1.4"
androidx-core = "1.13.1"
androidx-exifinterface = "1.3.7"
androidx-fragment = "1.8.1"
androidx-hilt = "1.2.0"
androidx-junit = "1.2.1"
androidx-lifecycle = "2.8.2"
androidx-media3 = "1.3.1"
# Deliberate downgrade until a version with the fix in
# https://android-review.googlesource.com/c/platform/frameworks/support/+/3156343
# is released.
# - https://issuetracker.google.com/issues/343124454
# - https://issuetracker.google.com/issues/349090863
androidx-paging = "3.2.1"
androidx-preference = "1.2.1"
androidx-recyclerview = "1.3.2"
androidx-sharetarget = "1.2.0"
androidx-splashscreen = "1.2.0-alpha01"
androidx-swiperefresh-layout = "1.1.0"
androidx-testing = "2.2.0"
androidx-test-core-ktx = "1.6.1"
androidx-transition = "1.5.0"
androidx-viewpager2 = "1.1.0"
androidx-webkit = "1.11.0"
androidx-work = "2.9.0"
androidx-room = "2.6.1"
app-update = "2.1.0"
apollographql = "3.8.5"
auto-service = "1.1.1"
auto-service-ksp = "1.2.0"
bouncycastle = "1.70"
conscrypt = "2.5.2"
coroutines = "1.8.1"
coroutines-play-services = "1.8.1"
desugar_jdk_libs = "2.0.4"
diffx = "1.1.1"
emoji2 = "1.3.0"
espresso = "3.6.1"
filemoji-compat = "3.2.7"
glide = "4.16.0"
# Deliberate downgrade, https://github.com/tuskyapp/Tusky/issues/3631
glide-animation-plugin = "2.23.0"
hilt = "2.51.1"
org-json = "20240303"
junit = "4.13.2"
kotlin = "2.0.0"
kotlin-result = "1.1.20"
ksp = "2.0.0-1.0.24"
image-cropper = "4.3.2"
leakcanary = "2.14"
lint = "31.5.0" # = agp + 23.0.0 (= 8.5.0), see https://github.com/googlesamples/android-custom-lint-rules#lint-version
material = "1.12.0"
material-drawer = "9.0.2"
material-iconics = "5.5.0-compose01"
material-typeface = "4.0.0.3-kotlin"
mlkit-language-id = "17.0.0"
mockito-inline = "5.2.0"
mockito-kotlin = "5.4.0"
moshi = "1.15.1"
moshix = "0.27.1"
networkresult-calladapter = "1.0.0"
okhttp = "4.12.0"
okio = "3.9.0"
play-services-base = "18.5.0"
quadrant = "1.9.1"
retrofit = "2.11.0"
robolectric = "4.12.2"
semver = "2.0.0"
sparkbutton = "4.2.0"
timber = "5.0.1"
touchimageview = "3.6"
truth = "1.4.4"
turbine = "1.1.0"
unified-push = "2.1.1"
xmlwriter = "1.0.4"
# Tool dependencies
betterparse = "0.4.4"
clikt = "4.4.0"
icu4j = "75.1"
junit-jupiter = "5.10.3"
kotlin-logging-jvm = "7.0.0"
logback = "1.5.6"
[plugins]
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
android-application = { id = "com.android.application", version.ref = "agp" }
android-library = { id = "com.android.library", version.ref = "agp" }
android-lint = { id = "com.android.lint", version.ref = "agp" }
google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
ktlint = "org.jlleitschuh.gradle.ktlint:12.1.1"
room = { id = "androidx.room", version.ref = "androidx-room" }
quadrant = { id = "com.gaelmarhic.quadrant", version.ref = "quadrant" }
apollographql = { id = "com.apollographql.apollo3", version.ref = "apollographql"}
# Plugins defined by this project
pachli-android-application = { id = "pachli.android.application", version = "unspecified" }
pachli-android-application-flavors = { id = "pachli.android.application.flavors", version = "unspecified" }
pachli-android-hilt = { id = "pachli.android.hilt", version = "unspecified" }
pachli-android-library = { id = "pachli.android.library", version = "unspecified" }
pachli-android-room = { id = "pachli.android.room", version = "unspecified" }
pachli-tool = { id = "pachli.tool", version = "unspecified" }
[libraries]
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
aboutlibraries-legacy-ui = { module = "com.mikepenz:aboutlibraries", version.ref = "aboutlibraries" }
acra-dialog = { module = "ch.acra:acra-dialog", version.ref = "acra" }
acra-mail = { module = "ch.acra:acra-mail", version.ref = "acra" }
android-material = { module = "com.google.android.material:material", version.ref = "material" }
androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" }
androidx-cardview = { module = "androidx.cardview:cardview", version.ref = "androidx-cardview" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx-splashscreen" }
androidx-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-testing" }
androidx-emoji2-core = { module = "androidx.emoji2:emoji2", version.ref = "emoji2" }
androidx-emoji2-views-core = { module = "androidx.emoji2:emoji2-views", version.ref = "emoji2" }
androidx-emoji2-view-helper = { module = "androidx.emoji2:emoji2-views-helper", version.ref = "emoji2" }
androidx-exifinterface = { module = "androidx.exifinterface:exifinterface", version.ref = "androidx-exifinterface" }
androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
androidx-hilt-common = { module = "androidx.hilt:hilt-common", version.ref = "androidx-hilt" }
androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidx-hilt" }
androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidx-hilt" }
androidx-lifecycle-common-java8 = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref = "androidx-lifecycle" }
androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-reactivestreams-ktx = { module = "androidx.lifecycle:lifecycle-reactivestreams-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx-media3" }
androidx-media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "androidx-media3" }
androidx-media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "androidx-media3" }
androidx-media3-exoplayer-rtsp = { module = "androidx.media3:media3-exoplayer-rtsp", version.ref = "androidx-media3" }
androidx-media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "androidx-media3" }
androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "androidx-media3" }
androidx-paging-runtime-ktx = { module = "androidx.paging:paging-runtime-ktx", version.ref = "androidx-paging" }
androidx-preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "androidx-room" }
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "androidx-room" }
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidx-recyclerview" }
androidx-sharetarget = { module = "androidx.sharetarget:sharetarget", version.ref = "androidx-sharetarget" }
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "androidx-swiperefresh-layout" }
androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core-ktx" }
androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-junit" }
androidx-transition = { module = "androidx.transition:transition-ktx", version.ref = "androidx-transition" }
androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version.ref = "androidx-viewpager2" }
androidx-webkit = { module = "androidx.webkit:webkit", version.ref = "androidx-webkit" }
androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
app-update = { module = "com.google.android.play:app-update", version.ref = "app-update" }
app-update-ktx = { module = "com.google.android.play:app-update-ktx", version.ref = "app-update" }
apollo-runtime = { module = "com.apollographql.apollo3:apollo-runtime", version.ref = "apollographql" }
auto-service-annotations = { module = "com.google.auto.service:auto-service-annotations", version.ref = "auto-service"}
auto-service-ksp = { module = "dev.zacsweers.autoservice:auto-service-ksp", version.ref = "auto-service-ksp"}
bouncycastle = { module = "org.bouncycastle:bcprov-jdk15on", version.ref = "bouncycastle" }
conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscrypt" }
desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
diffx = { module = "org.pageseeder.diffx:pso-diffx", version.ref = "diffx" }
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" }
filemojicompat-core = { module = "de.c1710:filemojicompat", version.ref = "filemoji-compat" }
filemojicompat-defaults = { module = "de.c1710:filemojicompat-defaults", version.ref = "filemoji-compat" }
filemojicompat-ui = { module = "de.c1710:filemojicompat-ui", version.ref = "filemoji-compat" }
glide-animation-plugin = { module = "com.github.penfeizhou.android.animation:glide-plugin", version.ref = "glide-animation-plugin" }
glide-compiler = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
glide-core = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
glide-okhttp3-integration = { module = "com.github.bumptech.glide:okhttp3-integration", version.ref = "glide" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" }
junit = { module = "junit:junit", version.ref = "junit" }
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" }
junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit-jupiter" }
kotlin-result = { module = "com.michael-bull.kotlin-result:kotlin-result", version.ref = "kotlin-result" }
kotlin-result-coroutines = { module = "com.michael-bull.kotlin-result:kotlin-result-coroutines", version.ref = "kotlin-result" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
kotlinx-coroutines-play-services = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "coroutines-play-services" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
image-cropper = { module = "com.github.CanHub:Android-Image-Cropper", version.ref = "image-cropper" }
leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
lint-api = { module = "com.android.tools.lint:lint-api", version.ref = "lint" }
lint-checks = { module = "com.android.tools.lint:lint-checks", version.ref = "lint" }
lint-cli = { module = "com.android.tools.lint:lint", version.ref = "lint" }
lint-tests = { module = "com.android.tools.lint:lint-tests", version.ref = "lint" }
material-drawer-core = { module = "com.mikepenz:materialdrawer", version.ref = "material-drawer" }
material-drawer-iconics = { module = "com.mikepenz:materialdrawer-iconics", version.ref = "material-drawer" }
material-iconics = { module = "com.mikepenz:iconics-core", version.ref="material-iconics" }
material-typeface = { module = "com.mikepenz:google-material-typeface", version.ref = "material-typeface" }
mlkit-language-id = { module = "com.google.android.gms:play-services-mlkit-language-id", version.ref = "mlkit-language-id" }
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockito-kotlin" }
mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockito-inline" }
mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" }
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
moshi-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
moshix-sealed-runtime = { module = "dev.zacsweers.moshix:moshi-sealed-runtime", version.ref = "moshix" }
moshix-sealed-codegen = { module = "dev.zacsweers.moshix:moshi-sealed-codegen", version.ref = "moshix" }
networkresult-calladapter = { module = "at.connyduck:networkresult-calladapter", version.ref = "networkresult-calladapter" }
okhttp-core = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
okhttp-tls = { module = "com.squareup.okhttp3:okhttp-tls", version.ref = "okhttp" }
okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
org-json = { module = "org.json:json", version.ref = "org-json"}
play-services-base = { module = "com.google.android.gms:play-services-base", version.ref = "play-services-base" }
retrofit-converter-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofit" }
retrofit-core = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
semver = { module = "io.github.z4kn4fein:semver", version.ref = "semver" }
sparkbutton = { module = "at.connyduck.sparkbutton:sparkbutton", version.ref = "sparkbutton" }
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
touchimageview = { module = "com.github.MikeOrtiz:TouchImageView", version.ref = "touchimageview" }
truth = { module = "com.google.truth:truth", version.ref = "truth" }
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
unified-push = { module = "com.github.UnifiedPush:android-connector", version.ref = "unified-push" }
xmlwriter = { module = "org.pageseeder.xmlwriter:pso-xmlwriter", version.ref = "xmlwriter" }
# Tool libraries
betterparse = { module = "com.github.h0tk3y.betterParse:better-parse", version.ref = "betterparse" }
clikt = { module = "com.github.ajalt.clikt:clikt", version.ref = "clikt" }
icu4j = { module = "com.ibm.icu:icu4j", version.ref = "icu4j"}
kotlin-logging-jvm = { module = "io.github.oshai:kotlin-logging-jvm", version.ref = "kotlin-logging-jvm" }
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
# build-logic dependencies
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "agp" }
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
ksp-gradlePlugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
[bundles]
aboutlibraries = ["aboutlibraries-core", "aboutlibraries-legacy-ui"]
acra = ["acra-dialog", "acra-mail"]
androidx = ["androidx-core-ktx", "androidx-appcompat", "androidx-fragment-ktx", "androidx-browser", "androidx-swiperefreshlayout",
"androidx-recyclerview", "androidx-exifinterface", "androidx-cardview", "androidx-preference-ktx", "androidx-sharetarget",
"androidx-emoji2-core", "androidx-emoji2-views-core", "androidx-emoji2-view-helper", "androidx-lifecycle-viewmodel-ktx",
"androidx-lifecycle-livedata-ktx", "androidx-lifecycle-common-java8", "androidx-lifecycle-reactivestreams-ktx",
"androidx-constraintlayout", "androidx-paging-runtime-ktx", "androidx-viewpager2", "androidx-work-runtime-ktx",
"androidx-core-splashscreen", "androidx-activity", "androidx-media3-exoplayer", "androidx-media3-exoplayer-dash",
"androidx-media3-exoplayer-hls", "androidx-media3-exoplayer-rtsp", "androidx-media3-datasource-okhttp", "androidx-media3-ui",
"androidx-transition",
"android-material"]
filemojicompat = ["filemojicompat-core", "filemojicompat-ui", "filemojicompat-defaults"]
glide = ["glide-core", "glide-okhttp3-integration", "glide-animation-plugin"]
lint-api = ["kotlin-stdlib", "lint-api", "lint-checks"]
lint-tests = ["junit", "lint-cli", "lint-tests"]
material-drawer = ["material-drawer-core", "material-drawer-iconics"]
mockito = ["mockito-kotlin", "mockito-inline"]
okhttp = ["okhttp-core", "okhttp-logging-interceptor", "okhttp-tls"]
retrofit = ["retrofit-core", "retrofit-converter-moshi"]
room = ["androidx-room-ktx", "androidx-room-paging"]
xmldiff = ["diffx", "xmlwriter"]