227 lines
9.7 KiB
TOML
227 lines
9.7 KiB
TOML
[versions]
|
|
kotlin = "1.9.22"
|
|
kotlin-coroutines = "1.8.0"
|
|
ktor = "2.3.9"
|
|
arrow = "1.2.3"
|
|
kotest = "5.8.1"
|
|
# https://developer.android.com/jetpack/androidx/releases/compose
|
|
compose = "1.6.4"
|
|
# https://developer.android.com/jetpack/androidx/releases/compose-kotlin
|
|
compose-compiler = "1.5.10" # It's used! Use compatible with Kotlin one
|
|
compose-material3 = "1.2.1"
|
|
glance = "1.0.0"
|
|
hilt = "2.51"
|
|
room = "2.6.1"
|
|
androidx-work = "2.9.0"
|
|
kotlinx-collections = "0.3.7"
|
|
androidx-test = "1.5.0"
|
|
|
|
# Android
|
|
min-sdk = "28"
|
|
compile-sdk = "34"
|
|
version-name = "4.5.0"
|
|
version-code = "150"
|
|
|
|
|
|
# Linters
|
|
detekt = "1.23.6" # https://detekt.dev/docs/gettingstarted/gradle/
|
|
|
|
[libraries]
|
|
android-gradle-plugin = { module = "com.android.tools.build:gradle", version = "8.3.1" }
|
|
|
|
# Kotlin
|
|
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
|
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
|
kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlin-coroutines" }
|
|
kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlin-coroutines" }
|
|
kotlin-coroutines-googleplay-temp = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlin-coroutines" }
|
|
kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinx-collections" }
|
|
|
|
# KotlinX Serialization
|
|
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.6.3" }
|
|
kotlinx-serialization-plugin = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" }
|
|
|
|
# Ktor
|
|
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
|
|
ktor-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
|
|
ktor-serialization = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
|
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
|
ktor-client-serialization = { module = "io.ktor:ktor-client-serialization", version.ref = "ktor" }
|
|
ktor-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
|
|
|
|
# Arrow
|
|
arrowkt-core = { module = "io.arrow-kt:arrow-core", version.ref = "arrow" }
|
|
|
|
# Testing
|
|
mockk = { module = "io.mockk:mockk", version = "1.13.10" }
|
|
kotest-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" }
|
|
kotest-assertions = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" }
|
|
kotest-property = { module = "io.kotest:kotest-property", version.ref = "kotest" }
|
|
kotest-property-arrow = { module = "io.kotest.extensions:kotest-property-arrow", version.ref = "arrow" }
|
|
kotest-assertions-arrow = { module = "io.kotest.extensions:kotest-assertions-arrow", version.ref = "arrow" }
|
|
kotest-datatest = { module = "io.kotest:kotest-framework-datatest", version.ref = "kotest" }
|
|
kotlin-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
|
|
cashapp-molecule-plugin = { module = "app.cash.molecule:molecule-gradle-plugin", version = "1.4.1" }
|
|
cashapp-turbine = { module = "app.cash.turbine:turbine", version = "1.1.0" }
|
|
|
|
# Integartion (Android) testing
|
|
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test" }
|
|
androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidx-test" }
|
|
androidx-test-ext = { module = "androidx.test.ext:junit-ktx", version = "1.1.5" }
|
|
mockk-android = { module = "io.mockk:mockk-android", version = "1.13.10"}
|
|
|
|
# Compose
|
|
compose-animation = { module = "androidx.compose.animation:animation", version.ref = "compose" }
|
|
compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" }
|
|
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" }
|
|
compose-material3-windowsize = { module = "androidx.compose.material3:material3-window-size-class", version.ref = "compose-material3" }
|
|
compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "compose" }
|
|
compose-runtime-livedate-temp = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "compose" }
|
|
compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" }
|
|
compose-activity = { module = "androidx.activity:activity-compose", version = "1.8.2" }
|
|
compose-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version = "2.7.0" }
|
|
compose-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
|
|
compose-coil = { module = "io.coil-kt:coil-compose", version = "2.6.0" }
|
|
glance = { module = "androidx.glance:glance", version.ref = "glance" }
|
|
glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
|
|
glance-material3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }
|
|
|
|
# Room
|
|
room-plugin = { module = "androidx.room:androidx.room.gradle.plugin", version.ref = "room" }
|
|
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
|
|
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
|
|
room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
|
|
room-testing = { module = "androidx.room:room-testing", version.ref = "room" }
|
|
|
|
datastore = { module = "androidx.datastore:datastore-preferences", version = "1.0.0" }
|
|
|
|
# Hilt
|
|
hilt = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
|
|
hilt-work = { module = "androidx.hilt:hilt-work", version = "1.2.0" }
|
|
hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
|
|
hilt-gradle-plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" }
|
|
|
|
# Google
|
|
google-services-plugin = { module = "com.google.gms:google-services", version = "4.4.1" }
|
|
google-playservices-auth = { module = "com.google.android.gms:play-services-auth", version = "21.0.0" }
|
|
google-play-core = { module = "com.google.android.play:core", version = "1.10.3" }
|
|
google-play-core-ktx = { module = "com.google.android.play:core-ktx", version = "1.8.1" }
|
|
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics", version = "18.6.3" }
|
|
firebase-crashlytics-gradle-plugin = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "2.9.9" }
|
|
|
|
# AndroidX
|
|
androidx-security = { module = "androidx.security:security-crypto", version = "1.0.0" }
|
|
androidx-biometrics = { module = "androidx.biometric:biometric", version = "1.2.0-alpha05" }
|
|
androidx-activity = { module = "androidx.activity:activity-ktx", version = "1.8.2" }
|
|
appcompat-activity = { module = "androidx.appcompat:appcompat", version = "1.7.0-alpha03" }
|
|
androidx-work = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
|
|
androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
|
|
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.2" }
|
|
|
|
# Material
|
|
material = { module = "com.google.android.material:material", version = "1.11.0" }
|
|
|
|
# Logging
|
|
timber = { module = "com.jakewharton.timber:timber", version = "5.0.1" }
|
|
|
|
# Legacy
|
|
keval = { module = "com.notkamui.libs:keval", version = "1.0.0" }
|
|
opencsv-csv = { module = "com.opencsv:opencsv", version = "5.9" }
|
|
opencsv-apache-commons = { module = "org.apache.commons:commons-lang3", version = "3.14.0" }
|
|
|
|
# Linters
|
|
detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
|
|
detekt-ruleset-compiler = { module = "com.braisgabin.detekt:kotlin-compiler-wrapper", version = "0.0.4" }
|
|
detekt-ruleset-ktlint = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
|
|
detekt-ruleset-compose = { module = "io.nlopez.compose.rules:detekt", version = "0.3.12" }
|
|
detekt-ruleset-ivy-explicit = { module = "com.github.Ivy-Apps:detekt-explicit", version = "v0.0.7" }
|
|
slack-lint-compose = { module = "com.slack.lint.compose:compose-lint-checks", version = "1.3.1" }
|
|
|
|
# KSP
|
|
ksp-plugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version = "1.9.22-1.0.18" }
|
|
|
|
[bundles]
|
|
kotlin = [
|
|
"kotlin-stdlib",
|
|
"kotlin-coroutines-core",
|
|
"kotlinx-collections-immutable"
|
|
]
|
|
kotlin-android = [
|
|
"kotlin-coroutines-android",
|
|
"kotlin-coroutines-googleplay-temp",
|
|
]
|
|
arrow = [
|
|
"arrowkt-core",
|
|
]
|
|
ktor = [
|
|
"kotlinx-serialization-json",
|
|
"ktor-client-okhttp",
|
|
"ktor-content-negotiation",
|
|
"ktor-serialization",
|
|
"ktor-client-core",
|
|
"ktor-client-serialization",
|
|
"ktor-logging"
|
|
]
|
|
testing = [
|
|
"kotest-junit5",
|
|
"kotest-assertions",
|
|
"kotest-property",
|
|
"kotest-property-arrow",
|
|
"kotest-assertions-arrow",
|
|
"kotest-datatest",
|
|
"kotlin-coroutines-test",
|
|
"mockk",
|
|
"cashapp-turbine"
|
|
]
|
|
integration-testing = [
|
|
"kotest-assertions",
|
|
"androidx-test-core",
|
|
"androidx-test-runner",
|
|
"androidx-test-ext"
|
|
]
|
|
compose = [
|
|
"compose-animation",
|
|
"compose-foundation",
|
|
"compose-material3",
|
|
"compose-material3-windowsize",
|
|
"compose-runtime",
|
|
"compose-ui",
|
|
"compose-activity",
|
|
"compose-viewmodel",
|
|
"compose-tooling",
|
|
"compose-runtime-livedate-temp",
|
|
"compose-coil",
|
|
]
|
|
activity = [
|
|
"androidx-activity",
|
|
"appcompat-activity"
|
|
]
|
|
glance = [
|
|
"glance",
|
|
"glance-appwidget",
|
|
"glance-material3"
|
|
]
|
|
google = [
|
|
"google-playservices-auth",
|
|
"google-play-core",
|
|
"google-play-core-ktx"
|
|
]
|
|
firebase = [
|
|
"firebase-crashlytics"
|
|
]
|
|
hilt = [
|
|
"hilt",
|
|
"hilt-work"
|
|
]
|
|
room = [
|
|
"room-runtime",
|
|
"room-ktx"
|
|
]
|
|
opencsv = [
|
|
"opencsv-csv",
|
|
"opencsv-apache-commons"
|
|
]
|
|
|
|
[plugins]
|
|
gradleWrapperUpgrade = { id = "org.gradle.wrapper-upgrade", version = "0.11.4" }
|
|
koverPlugin = { id = "org.jetbrains.kotlinx.kover", version = "0.7.6" } |