[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"}