|
|
|
# This file is referenced in ./plugins/settings.gradle.kts to generate the version catalog.
|
|
|
|
# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format
|
|
|
|
|
|
|
|
[versions]
|
|
|
|
# Project
|
|
|
|
android_gradle_plugin = "8.7.1"
|
|
|
|
kotlin = "2.0.21"
|
|
|
|
kotlinpoet = "2.0.0"
|
|
|
|
ksp = "2.0.21-1.0.25"
|
|
|
|
firebaseAppDistribution = "5.0.0"
|
|
|
|
|
|
|
|
# AndroidX
|
|
|
|
core = "1.13.1"
|
|
|
|
# Warning: there is an issue with 1.1.0 and 1.1.1, that I cannot repro on unit test.
|
|
|
|
# To repro with the application:
|
|
|
|
# Clear the storage of the application and run the app. Nearly each time, there is an infinite loading
|
|
|
|
# due to the DefaultMigrationStore not behaving as expected.
|
|
|
|
# Stick to 1.0.0 for now, and ensure that this scenario cannot be reproduced when upgrading the version.
|
|
|
|
datastore = "1.0.0"
|
|
|
|
constraintlayout = "2.1.4"
|
|
|
|
constraintlayout_compose = "1.0.1"
|
|
|
|
lifecycle = "2.8.6"
|
|
|
|
activity = "1.9.3"
|
|
|
|
media3 = "1.4.1"
|
|
|
|
camera = "1.3.4"
|
|
|
|
|
|
|
|
# Compose
|
|
|
|
compose_bom = "2024.10.00"
|
|
|
|
composecompiler = "1.5.15"
|
|
|
|
|
|
|
|
# Coroutines
|
|
|
|
coroutines = "1.9.0"
|
|
|
|
|
|
|
|
# Accompanist
|
|
|
|
accompanist = "0.36.0"
|
|
|
|
|
|
|
|
# Test
|
|
|
|
test_core = "1.6.1"
|
|
|
|
|
|
|
|
# Jetbrain
|
|
|
|
datetime = "0.6.1"
|
|
|
|
serialization_json = "1.7.3"
|
|
|
|
|
|
|
|
#other
|
|
|
|
coil = "2.7.0"
|
|
|
|
showkase = "1.0.3"
|
|
|
|
appyx = "1.4.0"
|
|
|
|
sqldelight = "2.0.2"
|
|
|
|
wysiwyg = "2.37.13"
|
|
|
|
telephoto = "0.13.0"
|
|
|
|
|
|
|
|
# Dependency analysis
|
|
|
|
dependencyAnalysis = "2.3.0"
|
|
|
|
|
|
|
|
# DI
|
|
|
|
dagger = "2.52"
|
|
|
|
anvil = "0.3.3"
|
|
|
|
|
|
|
|
# Auto service
|
|
|
|
autoservice = "1.1.1"
|
|
|
|
|
|
|
|
# quality
|
|
|
|
androidx-test-ext-junit = "1.2.1"
|
|
|
|
kover = "0.8.3"
|
|
|
|
|
|
|
|
[libraries]
|
|
|
|
# Project
|
|
|
|
android_gradle_plugin = { module = "com.android.tools.build:gradle", version.ref = "android_gradle_plugin" }
|
|
|
|
compose_compiler_plugin = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "kotlin" }
|
|
|
|
# https://developer.android.com/studio/write/java8-support#library-desugaring-versions
|
|
|
|
android_desugar = "com.android.tools:desugar_jdk_libs:2.1.2"
|
|
|
|
anvil_gradle_plugin = { module = "dev.zacsweers.anvil:gradle-plugin", version.ref = "anvil" }
|
|
|
|
kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
|
|
|
kotlinpoet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinpoet" }
|
|
|
|
kotlinpoet-ksp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinpoet" }
|
|
|
|
kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "kover" }
|
|
|
|
ksp_gradle_plugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
|
|
|
|
gms_google_services = "com.google.gms:google-services:4.4.2"
|
|
|
|
# https://firebase.google.com/docs/android/setup#available-libraries
|
|
|
|
google_firebase_bom = "com.google.firebase:firebase-bom:33.5.1"
|
|
|
|
firebase_appdistribution_gradle = { module = "com.google.firebase:firebase-appdistribution-gradle", version.ref = "firebaseAppDistribution" }
|
|
|
|
autonomousapps_dependencyanalysis_plugin = { module = "com.autonomousapps:dependency-analysis-gradle-plugin", version.ref = "dependencyAnalysis" }
|
|
|
|
ksp_plugin = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" }
|
|
|
|
|
|
|
|
# AndroidX
|
|
|
|
androidx_core = { module = "androidx.core:core", version.ref = "core" }
|
|
|
|
androidx_corektx = { module = "androidx.core:core-ktx", version.ref = "core" }
|
|
|
|
androidx_annotationjvm = "androidx.annotation:annotation-jvm:1.9.0"
|
|
|
|
androidx_datastore_preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" }
|
|
|
|
androidx_datastore_datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" }
|
|
|
|
androidx_exifinterface = "androidx.exifinterface:exifinterface:1.3.7"
|
|
|
|
androidx_constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
|
|
|
|
androidx_constraintlayout_compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "constraintlayout_compose" }
|
|
|
|
androidx_camera_lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camera" }
|
|
|
|
androidx_camera_view = { module = "androidx.camera:camera-view", version.ref = "camera" }
|
|
|
|
androidx_camera_camera2 = { module = "androidx.camera:camera-camera2", version.ref = "camera" }
|
|
|
|
|
|
|
|
androidx_recyclerview = "androidx.recyclerview:recyclerview:1.3.2"
|
|
|
|
androidx_browser = "androidx.browser:browser:1.8.0"
|
|
|
|
androidx_lifecycle_runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" }
|
|
|
|
androidx_lifecycle_process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "lifecycle" }
|
|
|
|
androidx_splash = "androidx.core:core-splashscreen:1.0.1"
|
|
|
|
androidx_security_crypto = "androidx.security:security-crypto:1.1.0-alpha06"
|
|
|
|
androidx_media3_exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
|
|
|
|
androidx_media3_ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
|
|
|
|
androidx_biometric = "androidx.biometric:biometric-ktx:1.2.0-alpha05"
|
|
|
|
|
|
|
|
androidx_activity_activity = { module = "androidx.activity:activity", version.ref = "activity" }
|
|
|
|
androidx_activity_compose = { module = "androidx.activity:activity-compose", version.ref = "activity" }
|
|
|
|
androidx_startup = "androidx.startup:startup-runtime:1.2.0"
|
|
|
|
androidx_preference = "androidx.preference:preference:1.2.1"
|
|
|
|
androidx_webkit = "androidx.webkit:webkit:1.12.1"
|
|
|
|
|
|
|
|
androidx_compose_bom = { module = "androidx.compose:compose-bom", version.ref = "compose_bom" }
|
|
|
|
androidx_compose_material3 = { module = "androidx.compose.material3:material3" }
|
|
|
|
androidx_compose_material3_windowsizeclass = { module = "androidx.compose.material3:material3-window-size-class" }
|
|
|
|
androidx_compose_material3_adaptive = "androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06"
|
|
|
|
androidx_compose_ui = { module = "androidx.compose.ui:ui" }
|
|
|
|
androidx_compose_ui_tooling = { module = "androidx.compose.ui:ui-tooling" }
|
|
|
|
androidx_compose_ui_tooling_preview = { module = "androidx.compose.ui:ui-tooling-preview" }
|
|
|
|
androidx_compose_ui_test_manifest = { module = "androidx.compose.ui:ui-test-manifest" }
|
|
|
|
androidx_compose_ui_test_junit = { module = "androidx.compose.ui:ui-test-junit4-android" }
|
|
|
|
androidx_compose_material = { module = "androidx.compose.material:material" }
|
|
|
|
androidx_compose_material_icons = { module = "androidx.compose.material:material-icons-extended" }
|
|
|
|
|
|
|
|
# Coroutines
|
|
|
|
coroutines_core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
|
|
|
|
coroutines_test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
|
|
|
|
|
|
|
|
# Accompanist
|
|
|
|
accompanist_permission = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" }
|
|
|
|
|
|
|
|
# Libraries
|
|
|
|
squareup_seismic = "com.squareup:seismic:1.0.3"
|
|
|
|
|
|
|
|
# network
|
|
|
|
network_okhttp_bom = "com.squareup.okhttp3:okhttp-bom:4.12.0"
|
|
|
|
network_okhttp_logging = { module = "com.squareup.okhttp3:logging-interceptor" }
|
|
|
|
network_okhttp_okhttp = { module = "com.squareup.okhttp3:okhttp" }
|
|
|
|
network_okhttp = { module = "com.squareup.okhttp3:okhttp" }
|
|
|
|
network_mockwebserver = { module = "com.squareup.okhttp3:mockwebserver" }
|
|
|
|
network_retrofit_bom = "com.squareup.retrofit2:retrofit-bom:2.11.0"
|
|
|
|
network_retrofit = { module = "com.squareup.retrofit2:retrofit" }
|
|
|
|
network_retrofit_converter_serialization = { module = "com.squareup.retrofit2:converter-kotlinx-serialization" }
|
|
|
|
|
|
|
|
# Test
|
|
|
|
test_core = { module = "androidx.test:core", version.ref = "test_core" }
|
|
|
|
test_corektx = { module = "androidx.test:core-ktx", version.ref = "test_core" }
|
|
|
|
test_arch_core = "androidx.arch.core:core-testing:2.2.0"
|
|
|
|
test_junit = "junit:junit:4.13.2"
|
|
|
|
test_runner = "androidx.test:runner:1.6.2"
|
|
|
|
test_mockk = "io.mockk:mockk:1.13.13"
|
|
|
|
test_konsist = "com.lemonappdev:konsist:0.16.1"
|
|
|
|
test_turbine = "app.cash.turbine:turbine:1.2.0"
|
|
|
|
test_truth = "com.google.truth:truth:1.4.4"
|
|
|
|
test_parameter_injector = "com.google.testparameterinjector:test-parameter-injector:1.18"
|
|
|
|
test_robolectric = "org.robolectric:robolectric:4.13"
|
|
|
|
test_appyx_junit = { module = "com.bumble.appyx:testing-junit4", version.ref = "appyx" }
|
|
|
|
test_composable_preview_scanner = "com.github.sergio-sastre.ComposablePreviewScanner:android:0.1.2"
|
|
|
|
|
|
|
|
# Others
|
|
|
|
coil = { module = "io.coil-kt:coil", version.ref = "coil" }
|
|
|
|
coil_compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
|
|
|
|
coil_gif = { module = "io.coil-kt:coil-gif", version.ref = "coil" }
|
|
|
|
coil_test = { module = "io.coil-kt:coil-test", version.ref = "coil" }
|
|
|
|
compound = { module = "io.element.android:compound-android", version = "0.1.1" }
|
|
|
|
datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" }
|
|
|
|
serialization_json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization_json" }
|
|
|
|
kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8"
|
|
|
|
showkase = { module = "com.airbnb.android:showkase", version.ref = "showkase" }
|
|
|
|
showkase_processor = { module = "com.airbnb.android:showkase-processor", version.ref = "showkase" }
|
|
|
|
jsoup = "org.jsoup:jsoup:1.18.1"
|
|
|
|
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
|
|
|
|
molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0"
|
|
|
|
timber = "com.jakewharton.timber:timber:5.0.1"
|
|
|
|
matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.58"
|
|
|
|
matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" }
|
|
|
|
matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" }
|
|
|
|
sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }
|
|
|
|
sqldelight-driver-jvm = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" }
|
|
|
|
sqldelight-coroutines = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" }
|
|
|
|
sqlcipher = "net.zetetic:android-database-sqlcipher:4.5.4"
|
|
|
|
sqlite = "androidx.sqlite:sqlite-ktx:2.4.0"
|
|
|
|
unifiedpush = "com.github.UnifiedPush:android-connector:2.4.0"
|
|
|
|
otaliastudios_transcoder = "com.otaliastudios:transcoder:0.11.1"
|
|
|
|
vanniktech_blurhash = "com.vanniktech:blurhash:0.3.0"
|
|
|
|
telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" }
|
|
|
|
telephoto_flick = { module = "me.saket.telephoto:flick-android", version.ref = "telephoto" }
|
|
|
|
statemachine = "com.freeletics.flowredux:compose:1.2.2"
|
|
|
|
maplibre = "org.maplibre.gl:android-sdk:11.5.2"
|
|
|
|
maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.2"
|
|
|
|
maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.2"
|
|
|
|
opusencoder = "io.element.android:opusencoder:1.1.0"
|
|
|
|
zxing_cpp = "io.github.zxing-cpp:android:2.2.0"
|
|
|
|
|
|
|
|
# Analytics
|
|
|
|
posthog = "com.posthog:posthog-android:3.9.0"
|
|
|
|
sentry = "io.sentry:sentry-android:7.16.0"
|
|
|
|
# main branch can be tested replacing the version with main-SNAPSHOT
|
|
|
|
matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.28.0"
|
|
|
|
|
|
|
|
# Emojibase
|
|
|
|
matrix_emojibase_bindings = "io.element.android:emojibase-bindings:1.3.3"
|
|
|
|
sigpwned_emoji4j = "com.sigpwned:emoji4j-core:15.1.2"
|
|
|
|
|
|
|
|
# Di
|
|
|
|
inject = "javax.inject:javax.inject:1"
|
|
|
|
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
|
|
|
|
dagger_compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
|
|
|
|
anvil_compiler_api = { module = "dev.zacsweers.anvil:compiler-api", version.ref = "anvil" }
|
|
|
|
anvil_compiler_utils = { module = "dev.zacsweers.anvil:compiler-utils", version.ref = "anvil" }
|
|
|
|
|
|
|
|
# Auto services
|
|
|
|
google_autoservice = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" }
|
|
|
|
google_autoservice_annotations = { module = "com.google.auto.service:auto-service-annotations", version.ref = "autoservice" }
|
|
|
|
|
|
|
|
# Miscellaneous
|
|
|
|
# Add unused dependency to androidx.compose.compiler:compiler to let Renovate create PR to change the
|
|
|
|
# value of `composecompiler` (which is used to set composeOptions.kotlinCompilerExtensionVersion.
|
|
|
|
# See https://github.com/renovatebot/renovate/issues/18354
|
|
|
|
android_composeCompiler = { module = "androidx.compose.compiler:compiler", version.ref = "composecompiler" }
|
|
|
|
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" }
|
|
|
|
|
|
|
|
[bundles]
|
|
|
|
|
|
|
|
[plugins]
|
|
|
|
android_application = { id = "com.android.application", version.ref = "android_gradle_plugin" }
|
|
|
|
android_library = { id = "com.android.library", version.ref = "android_gradle_plugin" }
|
|
|
|
kotlin_android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|
|
|
kotlin_jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
|
|
kotlin_serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
|
|
kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
|
|
|
|
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
|
|
|
anvil = { id = "dev.zacsweers.anvil", version.ref = "anvil" }
|
|
|
|
detekt = "io.gitlab.arturbosch.detekt:1.23.7"
|
|
|
|
ktlint = "org.jlleitschuh.gradle.ktlint:12.1.1"
|
|
|
|
dependencygraph = "com.savvasdalkitsis.module-dependency-graph:0.12"
|
|
|
|
dependencycheck = "org.owasp.dependencycheck:10.0.4"
|
|
|
|
dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" }
|
|
|
|
paparazzi = "app.cash.paparazzi:1.3.4"
|
|
|
|
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }
|
|
|
|
firebaseAppDistribution = { id = "com.google.firebase.appdistribution", version.ref = "firebaseAppDistribution" }
|
|
|
|
knit = { id = "org.jetbrains.kotlinx.knit", version = "0.5.0" }
|
|
|
|
sonarqube = "org.sonarqube:5.1.0.4882"
|
|
|
|
licensee = "app.cash.licensee:1.12.0"
|
|
|
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|