[versions]
# https://maven.google.com/web/index.html?q=com.android.tools.build#com.android.tools.build:gradle
androidGradlePlugin = "8.5.0"
# https://github.com/JetBrains/kotlin/releases
kotlin = "2.0.0"
# https://dagger.dev/hilt/gradle-setup
hilt = "2.51.1"
# https://github.com/protocolbuffers/protobuf/releases
protobuf = "4.27.2"
# https://github.com/google/protobuf-gradle-plugin/releases
protobufPlugin = "0.9.4"
# https://plugins.gradle.org/plugin/org.sonarqube
sonarqube = "5.1.0.4882"
# https://github.com/material-components/material-components-android/releases
material = "1.12.0"
# https://developer.android.com/kotlin/ktx#core
coreKtx = "1.13.1"
# https://developer.android.com/jetpack/androidx/releases/appcompat
appcompat = "1.7.0"
# https://developer.android.com/jetpack/androidx/releases/core
splashScreen = "1.0.1"
# https://developer.android.com/jetpack/androidx/releases/lifecycle
lifecycle = "2.8.4"
# https://developer.android.com/jetpack/androidx/releases/arch-core
coreTesting = "2.2.0"
# https://github.com/Kotlin/kotlinx.serialization/releases
kotlinxSerialization = "1.7.1"
# https://github.com/square/okhttp/tags
okhttp = "4.12.0"
# https://developer.android.com/jetpack/androidx/releases/paging
paging = "3.3.1"
# https://developer.android.com/jetpack/androidx/releases/room
room = "2.6.1"
# https://github.com/Kotlin/kotlinx-datetime/releases
kotlinxDatetime = "0.6.0"
# https://developer.android.com/jetpack/androidx/releases/datastore
datastore = "1.1.1"
# https://developer.android.com/jetpack/androidx/releases/security
security = "1.0.0"
# https://github.com/junit-team/junit4/releases
junit = "4.13.2"
# https://github.com/Kotlin/kotlinx.coroutines/releases
coroutines = "1.8.1"
# https://github.com/robolectric/robolectric/releases
robolectric = "4.13"
# https://mvnrepository.com/artifact/com.google.truth/truth
truth = "1.4.3"
# https://mockk.io/
mockk = "1.13.12"
# https://github.com/square/leakcanary/releases
leakcanary = "2.14"
# https://github.com/ChuckerTeam/chucker/releases
chucker = "4.0.0"
# https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md
desugar = "2.0.4"
# https://github.com/google/ksp/releases
kspPlugin = "2.0.0-1.0.23"
# https://developer.android.com/jetpack/androidx/releases/sharetarget
shareTarget = "1.2.0"
# https://github.com/KasperskyLab/Kaspresso/releases
kaspresso = "1.5.4"
# https://developer.android.com/jetpack/androidx/releases/test
androidXTestCore = "1.6.1"
androidXTestRules = "1.6.1"
androidXTestRunner = "1.6.1"
androidXTestOrchestrator = "1.5.0"
junitKtx = "1.2.1"
# https://mvnrepository.com/artifact/androidx.compose/compose-bom
composeBom = "2024.06.00"
# https://google.github.io/accompanist/
accompanistVersion = "0.34.0"
# https://developer.android.com/jetpack/androidx/releases/compose-material
materialCompose = "1.6.8"
# https://github.com/raamcosta/compose-destinations/releases
composeDestinations = "1.10.2"
# https://developer.android.com/jetpack/androidx/releases/hilt
androidxHilt = "1.2.0"
# https://github.com/ktorio/ktor/releases
ktor = "2.3.12"
# https://github.com/coil-kt/coil/releases
coil = "2.7.0"
# https://github.com/Kotlin/kotlinx-kover/releases
kover = "0.7.6"

[libraries]
android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }
android-tools-desugar = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar" }
android-material-material = { group = "com.google.android.material", name = "material", version.ref = "material" }

androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-compose-materialIconsExtended = { group = "androidx.compose.material", name = "material-icons-extended" }
androidx-compose-ui-toolingPreview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-compose-ui-testJunit = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-compose-ui-testManifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata" }

androidx-compose-material = { group = "androidx.compose.material", name = "material", version.ref = "materialCompose" }

androidx-compose-animation = { group = "androidx.compose.animation", name = "animation-graphics" }

google-accompanist-themeadapter-material3 = { group = "com.google.accompanist", name = "accompanist-themeadapter-material3", version.ref = "accompanistVersion" }

google-dagger-hiltPlugin = { group = "com.google.dagger", name = "hilt-android-gradle-plugin", version.ref = "hilt" }
google-dagger-hiltAndroid = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
google-dagger-hiltCompiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" }
google-dagger-hiltAndroidCompiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" }
google-dagger-hiltAndroidTesting = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hilt" }

androidx-hilt-navigationCompose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "androidxHilt" }

google-protobuf-javalite = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" }
google-protobuf-protoc = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" }

google-truth = { group = "com.google.truth", name = "truth", version.ref = "truth" }

jetbrains-kotlinPlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
jetbrains-serializationPlugin = { group = "org.jetbrains.kotlin", name = "kotlin-serialization", version.ref = "kotlin" }

jetbrains-kotlinx-serialization = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
jetbrains-kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinxDatetime" }
jetbrains-kotlinx-coroutinesAndroid = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
jetbrains-kotlinx-coroutinesTest = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }

androidx-coreKtx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
androidx-splashScreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "splashScreen" }
androidx-coreTesting = { group = "androidx.arch.core", name = "core-testing", version.ref = "coreTesting" }
androidx-shareTarget = { group = "androidx.sharetarget", name = "sharetarget", version.ref = "shareTarget" }

androidx-paging-runtimeKtx = { group = "androidx.paging", name = "paging-runtime-ktx", version.ref = "paging" }
androidx-paging-commonKtx = { group = "androidx.paging", name = "paging-common-ktx", version.ref = "paging" }
androidx-paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "paging" }

androidx-lifecycle-viewmodelKtx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
androidx-lifecycle-viewmodelCompose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" }

androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" }
androidx-datastore-datastore = { group = "androidx.datastore", name = "datastore", version.ref = "datastore" }

androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
androidx-room-paging = { group = "androidx.room", name = "room-paging", version.ref = "room" }
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
androidx-room-testing = { group = "androidx.room", name = "room-testing", version.ref = "room" }

androidx-test-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "junitKtx" }
androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "security" }

androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidXTestCore" }
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidXTestRules" }
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidXTestRunner" }
androidx-test-orchestrator = { group = "androidx.test", name = "orchestrator", version.ref = "androidXTestOrchestrator" }

squareup-leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary" }

okhttp3-bom = { group = "com.squareup.okhttp3", name = "okhttp-bom", version.ref = "okhttp" }
okhttp3-okhttp = { group = "com.squareup.okhttp3", name = "okhttp" }
okhttp3-loggingInterceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor" }
okhttp3-mockwebserver = { group = "com.squareup.okhttp3", name = "mockwebserver", version.ref = "okhttp" }

junit = { group = "junit", name = "junit", version.ref = "junit" }

robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }

io-mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" }

chuckerteam-chucker = { group = "com.github.chuckerteam.chucker", name = "library", version.ref = "chucker" }

kaspersky-kaspresso = { group = "com.kaspersky.android-components", name = "kaspresso", version.ref = "kaspresso" }
kaspersky-kaspresso-compose = { group = "com.kaspersky.android-components", name = "kaspresso-compose-support", version.ref = "kaspresso" }

composeDestinations-core = { group = "io.github.raamcosta.compose-destinations", name = "animations-core", version.ref = "composeDestinations" }
composeDestinations-ksp = { group = "io.github.raamcosta.compose-destinations", name = "ksp", version.ref = "composeDestinations" }

ktor-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
ktor-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "ktor" }
ktor-auth = { group = "io.ktor", name = "ktor-client-auth", version.ref = "ktor" }
ktor-encoding = { group = "io.ktor", name = "ktor-client-encoding", version.ref = "ktor" }
ktor-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
ktor-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }

coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" }
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }

[plugins]
sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" }
ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" }
protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" }
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }