forked from dsutanto/bChot-android
271 lines
14 KiB
TOML
271 lines
14 KiB
TOML
# 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.13.1"
|
|
# When updateing this, please also update the version in the file ./idea/kotlinc.xml
|
|
kotlin = "2.2.20"
|
|
kotlinpoet = "2.2.0"
|
|
ksp = "2.2.20-2.0.2"
|
|
firebaseAppDistribution = "5.2.0"
|
|
|
|
# AndroidX
|
|
core = "1.17.0"
|
|
datastore = "1.2.0"
|
|
constraintlayout = "2.2.1"
|
|
constraintlayout_compose = "1.1.1"
|
|
lifecycle = "2.9.2"
|
|
activity = "1.11.0"
|
|
media3 = "1.8.0"
|
|
camera = "1.5.1"
|
|
work = "2.11.0"
|
|
|
|
# Compose
|
|
compose_bom = "2025.07.00"
|
|
|
|
# Coroutines
|
|
coroutines = "1.10.2"
|
|
|
|
# Accompanist
|
|
accompanist = "0.37.3"
|
|
|
|
# Test
|
|
test_core = "1.7.0"
|
|
roborazzi = "1.52.0"
|
|
|
|
# Jetbrain
|
|
datetime = "0.7.1"
|
|
serialization_json = "1.9.0"
|
|
|
|
#other
|
|
coil = "3.3.0"
|
|
# Rollback to 1.0.4, 1.0.5 has this issue: https://github.com/airbnb/Showkase/issues/420
|
|
showkase = "1.0.4"
|
|
appyx = "1.7.1"
|
|
sqldelight = "2.2.1"
|
|
wysiwyg = "2.40.0"
|
|
telephoto = "0.18.0"
|
|
haze = "1.6.10"
|
|
|
|
# Dependency analysis
|
|
dependencyAnalysis = "3.5.1"
|
|
|
|
# DI
|
|
metro = "0.7.7"
|
|
|
|
# Auto service
|
|
autoservice = "1.1.1"
|
|
|
|
# quality
|
|
detekt = "1.23.8"
|
|
# See https://github.com/pinterest/ktlint/releases/
|
|
ktlint = "1.8.0"
|
|
androidx-test-ext-junit = "1.3.0"
|
|
kover = "0.9.1"
|
|
|
|
[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.5"
|
|
kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
|
metro_gradle_plugin = { module = "dev.zacsweers.metro:gradle-plugin", version.ref = "metro" }
|
|
kotlin_compiler = { module = "org.jetbrains.kotlin:kotlin-compiler", 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" }
|
|
# https://firebase.google.com/docs/android/setup#available-libraries
|
|
google_firebase_bom = "com.google.firebase:firebase-bom:34.6.0"
|
|
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" }
|
|
google_tink = "com.google.crypto.tink:tink-android:1.19.0"
|
|
|
|
# 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.1"
|
|
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.4.1"
|
|
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_javascriptengine = "androidx.javascriptengine:javascriptengine:1.0.0"
|
|
androidx_workmanager_runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "work" }
|
|
|
|
androidx_recyclerview = "androidx.recyclerview:recyclerview:1.4.0"
|
|
androidx_browser = "androidx.browser:browser:1.9.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.2.0"
|
|
androidx_media3_exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
|
|
androidx_media3_ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
|
|
androidx_media3_transformer = { module = "androidx.media3:media3-transformer", version.ref = "media3" }
|
|
androidx_media3_effect = { module = "androidx.media3:media3-effect", version.ref = "media3" }
|
|
androidx_media3_common = { module = "androidx.media3:media3-common", 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.14.0"
|
|
|
|
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_guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", 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:5.3.2"
|
|
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:3.0.0"
|
|
network_retrofit = { module = "com.squareup.retrofit2:retrofit" }
|
|
network_retrofit_converter_serialization = { module = "com.squareup.retrofit2:converter-kotlinx-serialization" }
|
|
|
|
# Quality
|
|
# Reference ktlint-cli so that Renovate can check if a new version is available.
|
|
ktlint-cli = { module = "com.pinterest.ktlint:ktlint-cli", version.ref = "ktlint" }
|
|
|
|
# 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.7.0"
|
|
test_mockk = "io.mockk:mockk:1.14.6"
|
|
test_konsist = "com.lemonappdev:konsist:0.17.3"
|
|
test_turbine = "app.cash.turbine:turbine:1.2.1"
|
|
test_truth = "com.google.truth:truth:1.4.5"
|
|
test_parameter_injector = "com.google.testparameterinjector:test-parameter-injector:1.20"
|
|
test_robolectric = "org.robolectric:robolectric:4.15.1"
|
|
test_appyx_junit = { module = "com.bumble.appyx:testing-junit4", version.ref = "appyx" }
|
|
test_composable_preview_scanner = "io.github.sergio-sastre.ComposablePreviewScanner:android:0.7.2"
|
|
test_detekt_api = { module = "io.gitlab.arturbosch.detekt:detekt-api", version.ref = "detekt" }
|
|
test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version.ref = "detekt" }
|
|
|
|
# Matrix SDK
|
|
# When upgrading the library, you may want to check what's new in the FFI layer by having a look to the
|
|
# latest commits from the history of this file:
|
|
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
|
|
# All new features should not be implemented in the pull request that upgrades the version, developers should
|
|
# only fix API breaks and may add some TODOs.
|
|
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.12.2"
|
|
|
|
# Others
|
|
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
|
|
coil_network_okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }
|
|
coil_compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
|
|
coil_gif = { module = "io.coil-kt.coil3:coil-gif", version.ref = "coil" }
|
|
coil_test = { module = "io.coil-kt.coil3:coil-test", version.ref = "coil" }
|
|
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.4.0"
|
|
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.21.2"
|
|
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
|
|
molecule-runtime = "app.cash.molecule:molecule-runtime:2.2.0"
|
|
timber = "com.jakewharton.timber:timber:5.0.1"
|
|
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:sqlcipher-android:4.11.0"
|
|
sqlite = "androidx.sqlite:sqlite-ktx:2.6.2"
|
|
unifiedpush = "org.unifiedpush.android:connector:3.1.2"
|
|
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:12.2.0"
|
|
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.2.0"
|
|
zxing_cpp = "io.github.zxing-cpp:android:2.3.0"
|
|
haze = { module = "dev.chrisbanes.haze:haze", version.ref = "haze" }
|
|
haze_materials = { module = "dev.chrisbanes.haze:haze-materials", version.ref = "haze" }
|
|
color_picker = "io.mhssn:colorpicker:1.0.0"
|
|
|
|
# Analytics
|
|
posthog = "com.posthog:posthog-android:3.26.0"
|
|
sentry = "io.sentry:sentry-android:8.27.1"
|
|
# main branch can be tested replacing the version with main-SNAPSHOT
|
|
matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.29.2"
|
|
|
|
# Emojibase
|
|
matrix_emojibase_bindings = "io.element.android:emojibase-bindings:1.5.0"
|
|
sigpwned_emoji4j = "com.sigpwned:emoji4j-core:16.0.0"
|
|
|
|
# Di
|
|
metro_runtime = { module = "dev.zacsweers.metro:runtime", version.ref = "metro" }
|
|
|
|
# Element Call
|
|
element_call_embedded = "io.element.android:element-call-embedded:0.16.3"
|
|
|
|
# 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
|
|
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" }
|
|
|
|
# Test
|
|
test_roborazzi = { module = "io.github.takahirom.roborazzi:roborazzi", version.ref = "roborazzi" }
|
|
test_roborazzi_compose = { module = "io.github.takahirom.roborazzi:roborazzi-compose", version.ref = "roborazzi" }
|
|
test_roborazzi_junit = { module = "io.github.takahirom.roborazzi:roborazzi-junit-rule", version.ref = "roborazzi" }
|
|
|
|
[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" }
|
|
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
|
# Note: used in DependencyInjectionExtensions.kt
|
|
metro = { id = "dev.zacsweers.metro", version.ref = "metro" }
|
|
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
|
ktlint = "org.jlleitschuh.gradle.ktlint:14.0.1"
|
|
dependencygraph = "com.savvasdalkitsis.module-dependency-graph:0.12"
|
|
dependencycheck = "org.owasp.dependencycheck:12.1.9"
|
|
dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" }
|
|
paparazzi = "app.cash.paparazzi:2.0.0-alpha02"
|
|
roborazzi = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" }
|
|
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:7.1.0.6387"
|
|
licensee = "app.cash.licensee:1.14.1"
|
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
|
gms_google_services = { id = "com.google.gms.google-services", version = "4.4.4" }
|