Files
2026-07-03 15:56:07 +08:00

133 lines
6.8 KiB
TOML

[versions]
# Define the dependency versions
#Project
#kotlin
kotlinVersion = "1.8.20"
kotlinxSerializationJson = "1.5.0"
#gradle
androidGradlePlugin = "8.0.2"
#Modules
#androidx
androidxComposeBom = "2023.05.01"
androidxActivityCompose = "1.7.0"
androidxAppCompat = "1.6.1"
androidxComposeCompiler = "1.4.6"
androidxCore = "1.9.0"
androidxLifecycle = "2.6.1"
androidxNavigation = "2.5.3"
androidxEspresso = "3.5.1"
androidxTestRules = "1.5.0"
androidxTestRunner = "1.5.2"
androidxTestMonitor = "1.6.1"
androidxTestCore = "1.5.0"
androidxTestExt = "1.1.5"
androidxCrypto = "1.1.0-alpha04"
androidxDatastore = "1.0.0"
#compose
compose_ui = "1.4.3"
compose_ui_testing = "1.4.3"
compose_constraint_layout = "1.1.0-alpha05"
#ktx
core_ktx = "1.9.0"
#coroutine
coroutine = "1.7.1"
turbine = "1.0.0"
#android test
junit4 = "4.13.2"
android_junit = "1.1.5"
espresso = "3.5.0"
jupiter_junit = "5.9.2"
#Mock
anotation = "1.6.0"
mockk_android = "1.13.4"
test_runner = "1.5.2"
#sonar
sonar = "4.0.0.2929"
#dokka
dokka = "1.8.10"
#ktlint
ktlint = "11.3.1"
[libraries]
# Project
android_gradle_plugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinVersion" }
dokka-gradle-plugin = {module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka"}
kotlin-android-extensions = { module = "org.jetbrains.kotlin:kotlin-android-extensions", version.ref = "kotlinVersion" }
#compose
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivityCompose" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppCompat" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-compose-material = { group = "androidx.compose.material", name = "material" }
androidx-compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class" }
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata" }
androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "compose_ui_testing"}
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-compose-ui-manifest-test = { group = "androidx.compose.ui", name = "ui-test-manifest"}
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-compose-ui-util = { group = "androidx.compose.ui", name = "ui-util" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidxCore" }
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidxNavigation" }
androidx-lifecycle-viewModelCompose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" }
androidx-lifecycle-viewModel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" }
androidx-navigation-testing = { group = "androidx.navigation", name = "navigation-testing", version.ref = "androidxNavigation" }
#ktx
core_ktx = { module = "androidx.core:core-ktx", version.ref = "core_ktx" }
runtime_ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
#Coroutine
coroutine = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutine" }
coroutine_test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutine" }
coroutine_turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
#Android Testing
androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidxTestCore" }
androidx-test-core-ktx = { group = "androidx.test", name = "core-ktx", version.ref = "androidxTestCore" }
androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidxEspresso" }
androidx-test-ext = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidxTestExt" }
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidxTestRules" }
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidxTestRunner" }
androidx-test-monitor= { group = "androidx.test", name = "monitor", version.ref = "androidxTestMonitor" }
androidx-junit = { module = "androidx.test.ext:junit", version.ref = "android_junit" }
kotlin_stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-common", version.ref = "kotlinVersion" }
kotlin_coroutines_core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutine" }
#Android Test
kotlin_common_test = { module = "org.jetbrains.kotlin:kotlin-test-common", version.ref = "kotlinVersion" }
jupiter_junit = { module = "org.junit.jupiter:junit-jupiter", version.ref = "jupiter_junit" }
compose_junit = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose_ui" }
#Mock
anotation = { module = "androidx.annotation:annotation", version.ref = "anotation" }
mockk_android = { module = "io.mockk:mockk-android", version.ref = "mockk_android" }
test_runner = { module = "androidx.test:runner", version.ref = "test_runner" }
[bundles]
# Define bundles/groups of libraries
compose = ["androidx.activity.compose", "androidx.compose.foundation", "androidx.navigation.compose","androidx.compose.material","androidx.compose.material3", "androidx.compose.material3.windowSizeClass", "androidx.compose.runtime","androidx.compose.ui.tooling","androidx.compose.ui.tooling.preview"]
test = ["androidx.test.core","androidx.test.ext","androidx.test.rules","androidx.test.runner", "compose.junit"]
coroutine_test = ["coroutine.test", "coroutine.turbine"]
ktx = ["core.ktx", "runtime.ktx"]
mock =["mockk.android","anotation","test.runner"]
# Define Plugins
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinVersion" }
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlinVersion" }
sonar = {id= "org.sonarqube", version.ref = "sonar"}
dokka = {id = "org.jetbrains.dokka", version.ref = "dokka"}
ktlint = {id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint"}