128 lines
6.9 KiB
TOML
128 lines
6.9 KiB
TOML
[versions]
|
|
kotlin = "1.9.22"
|
|
|
|
# KSP depends on specific Kotlin version, so it must be upgraded together with Kotlin (disabled in Renovate)
|
|
# https://repo.maven.apache.org/maven2/com/google/devtools/ksp/symbol-processing-gradle-plugin/
|
|
kotlinSymbolProcessing = "1.9.20-RC2-1.0.13"
|
|
|
|
# Compose compiler depends on specific Kotlin version, so it must be upgraded together with Kotlin (disabled in Renovate)
|
|
# https://developer.android.com/jetpack/androidx/releases/compose-kotlin
|
|
kotlinCompilerExtensionVersion = "1.5.4"
|
|
|
|
compileSdk = "34"
|
|
minSdk = "26"
|
|
|
|
navigation = "2.7.6"
|
|
testLogger = "3.2.0"
|
|
coroutines = "1.7.3"
|
|
retrofit = "2.9.0"
|
|
okhttp = "4.12.0"
|
|
koin = "3.5.3"
|
|
coil = "2.5.0"
|
|
lifecycle = "2.6.2"
|
|
room = "2.6.1"
|
|
serializationJson = "1.6.2"
|
|
kotlinxSerializationConverter = "1.0.0"
|
|
viewBindingPropertyDelegate = "1.5.9"
|
|
timber = "5.0.1"
|
|
constraintLayout = "2.1.4"
|
|
appCompat = "1.6.1"
|
|
recyclerView = "1.3.2"
|
|
compose = "1.5.4"
|
|
materialCompose = "1.1.2"
|
|
material = "1.11.0"
|
|
lottie = "6.3.0"
|
|
playCore = "1.10.3"
|
|
coreKtx = "1.12.0"
|
|
fragmentKtx = "1.6.2"
|
|
# Info https://google.github.io/accompanist/flowlayout/
|
|
# Repo https://oss.sonatype.org/content/repositories/snapshots/com/google/accompanist/accompanist-flowlayout/
|
|
accompanistFlowLayout = "0.32.0"
|
|
|
|
spotless = "6.23.3"
|
|
|
|
detekt = "1.23.4"
|
|
androidGradlePlugin = "8.2.1"
|
|
|
|
# Test versionsandroid-junit5-plugin-dsl
|
|
|
|
junit = "5.10.1"
|
|
androidJUnit5 = "1.10.0.0"
|
|
kluent = "1.73"
|
|
testRunner = "1.5.2"
|
|
mockk = "1.13.8"
|
|
espresso = "3.5.1"
|
|
coreTesting = "2.2.0"
|
|
|
|
[libraries]
|
|
kotlin = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
|
|
coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
|
|
retrofitCore = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
|
|
kotlinxSerializationConverter = { module = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter", version.ref = "kotlinxSerializationConverter" }
|
|
serializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serializationJson" }
|
|
# Retrofit will use okhttp 4 (it has binary capability with okhttp 3)
|
|
# See: https://square.github.io/okhttp/upgrading_to_okhttp_4/
|
|
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
|
|
okhttpInterceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
|
|
koin = { module = "io.insert-koin:koin-android", version.ref = "koin" }
|
|
koinNavigation = { module = "io.insert-koin:koin-androidx-navigation", version.ref = "koin" }
|
|
viewBindingPropertyDelegate = { module = "com.github.kirich1409:viewbindingpropertydelegate", version.ref = "viewBindingPropertyDelegate" }
|
|
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
|
|
constraintLayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintLayout" }
|
|
appCompat = { module = "androidx.appcompat:appcompat", version.ref = "appCompat" }
|
|
recyclerView = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerView" }
|
|
composeMaterial = { module = "androidx.compose.material3:material3", version.ref = "materialCompose" }
|
|
material = { module = "com.google.android.material:material", version.ref = "material" }
|
|
lottie = { module = "com.airbnb.android:lottie-compose", version.ref = "lottie" }
|
|
coil = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
|
|
playCore = { module = "com.google.android.play:core", version.ref = "playCore" }
|
|
coreKtx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
|
|
fragmentKtx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragmentKtx" }
|
|
viewmodelKtx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
|
|
livedataKtx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "lifecycle" }
|
|
composeUI = { module = "androidx.compose.ui:ui", version.ref = "compose" }
|
|
toolingPreview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" }
|
|
livedataRuntime = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycle" }
|
|
navigationFragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "navigation" }
|
|
navigationUiKtx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "navigation" }
|
|
roomKtx = { module = "androidx.room:room-ktx", version.ref = "room" }
|
|
roomRuntime = { module = "androidx.room:room-runtime", version.ref = "room" }
|
|
roomCompiler = { module = "androidx.room:room-compiler", version.ref = "room" }
|
|
accompanistFlowLayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "accompanistFlowLayout" }
|
|
detektFormatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
|
|
konsist = "com.lemonappdev:konsist:0.11.0"
|
|
|
|
# Test dependencies
|
|
junit = { module = "junit:junit", version.ref = "junit" }
|
|
testCoroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
|
|
kluent = { module = "org.amshove.kluent:kluent-android", version.ref = "kluent" }
|
|
testRunner = { module = "androidx.test:runner", version.ref = "testRunner" }
|
|
espresso = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" }
|
|
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
|
|
coreTesting = { module = "androidx.arch.core:core-testing", version.ref = "coreTesting" }
|
|
junitJupiterApi = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" }
|
|
junitJupiterEngine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" }
|
|
|
|
[bundles]
|
|
retrofit = ["retrofitCore", "kotlinxSerializationConverter", "serializationJson", "okhttp", "okhttpInterceptor"]
|
|
koin = ["koin", "koinNavigation"]
|
|
compose = ["composeUI", "toolingPreview", "lottie", "coil"]
|
|
lifecycle = ["viewmodelKtx", "livedataKtx", "livedataRuntime"]
|
|
navigation = ["navigationFragment", "navigationUiKtx"]
|
|
room = ["roomKtx", "roomRuntime"]
|
|
test = ["testCoroutines", "kluent", "testRunner", "espresso", "mockk", "coreTesting", "junitJupiterApi",
|
|
"junitJupiterEngine", "konsist"]
|
|
|
|
[plugins]
|
|
# Search Gradle Plugins https://plugins.gradle.org/
|
|
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
|
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
|
|
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
kotlin-symbolProcessing = { id = "com.google.devtools.ksp", version.ref = "kotlinSymbolProcessing" }
|
|
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
|
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
|
|
safeArgs = { id = "androidx.navigation.safeargs.kotlin", version.ref = "navigation" }
|
|
junit5Android = { id = "de.mannodermaus.android-junit5", version.ref = "androidJUnit5" }
|
|
testLogger = { id = "com.adarshr.test-logger", version.ref = "testLogger" }
|