101 lines
3.8 KiB
Kotlin
101 lines
3.8 KiB
Kotlin
// [FILE] Dependencies.kt
|
|
// [PURPOSE] Centralized dependency management for the entire project.
|
|
|
|
object Versions {
|
|
// Build
|
|
const val compileSdk = 34
|
|
const val minSdk = 26
|
|
const val targetSdk = 34
|
|
const val versionCode = 1
|
|
const val versionName = "1.0"
|
|
|
|
// Kotlin
|
|
const val kotlin = "1.9.22"
|
|
const val coroutines = "1.7.3"
|
|
|
|
// Jetpack Compose
|
|
const val composeCompiler = "1.5.8"
|
|
const val composeBom = "2023.10.01"
|
|
const val activityCompose = "1.8.2"
|
|
const val navigationCompose = "2.7.6"
|
|
const val hiltNavigationCompose = "1.1.0"
|
|
|
|
// AndroidX
|
|
const val coreKtx = "1.12.0"
|
|
const val lifecycle = "2.6.2"
|
|
const val appcompat = "1.6.1"
|
|
|
|
// Networking
|
|
const val retrofit = "2.9.0"
|
|
const val okhttp = "4.12.0"
|
|
const val moshi = "1.15.0"
|
|
|
|
// Database
|
|
const val room = "2.6.1"
|
|
|
|
// DI
|
|
const val hilt = "2.48.1"
|
|
const val hiltCompiler = "1.1.0"
|
|
|
|
// Logging
|
|
const val timber = "5.0.1"
|
|
|
|
// Testing
|
|
const val junit = "4.13.2"
|
|
const val extJunit = "1.1.5"
|
|
const val espresso = "3.5.1"
|
|
}
|
|
|
|
object Libs {
|
|
// Kotlin
|
|
const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}"
|
|
const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}"
|
|
|
|
// AndroidX
|
|
const val coreKtx = "androidx.core:core-ktx:${Versions.coreKtx}"
|
|
const val lifecycleRuntime = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.lifecycle}"
|
|
const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
|
|
|
|
// Compose
|
|
const val composeBom = "androidx.compose:compose-bom:${Versions.composeBom}"
|
|
const val composeUi = "androidx.compose.ui:ui"
|
|
const val composeUiGraphics = "androidx.compose.ui:ui-graphics"
|
|
const val composeUiToolingPreview = "androidx.compose.ui:ui-tooling-preview"
|
|
const val composeMaterial3 = "androidx.compose.material3:material3"
|
|
const val activityCompose = "androidx.activity:activity-compose:${Versions.activityCompose}"
|
|
const val navigationCompose = "androidx.navigation:navigation-compose:${Versions.navigationCompose}"
|
|
const val hiltNavigationCompose = "androidx.hilt:hilt-navigation-compose:${Versions.hiltNavigationCompose}"
|
|
|
|
// Networking (Retrofit, OkHttp, Moshi)
|
|
const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}"
|
|
const val converterMoshi = "com.squareup.retrofit2:converter-moshi:${Versions.retrofit}"
|
|
const val okhttp = "com.squareup.okhttp3:okhttp:${Versions.okhttp}"
|
|
const val okhttpLoggingInterceptor = "com.squareup.okhttp3:logging-interceptor:${Versions.okhttp}"
|
|
const val moshi = "com.squareup.moshi:moshi:${Versions.moshi}"
|
|
const val moshiKotlin = "com.squareup.moshi:moshi-kotlin:${Versions.moshi}"
|
|
const val moshiCodegen = "com.squareup.moshi:moshi-kotlin-codegen:${Versions.moshi}"
|
|
|
|
// Database (Room)
|
|
const val roomRuntime = "androidx.room:room-runtime:${Versions.room}"
|
|
const val roomKtx = "androidx.room:room-ktx:${Versions.room}"
|
|
const val roomCompiler = "androidx.room:room-compiler:${Versions.room}"
|
|
|
|
// Dependency Injection (Hilt)
|
|
const val hiltAndroid = "com.google.dagger:hilt-android:${Versions.hilt}"
|
|
const val hiltCompiler = "com.google.dagger:hilt-android-compiler:${Versions.hilt}"
|
|
|
|
// Logging
|
|
const val timber = "com.jakewharton.timber:timber:${Versions.timber}"
|
|
|
|
// Testing
|
|
const val junit = "junit:junit:${Versions.junit}"
|
|
const val extJunit = "androidx.test.ext:junit:${Versions.extJunit}"
|
|
const val espressoCore = "androidx.test.espresso:espresso-core:${Versions.espresso}"
|
|
const val composeUiTestJunit4 = "androidx.compose.ui:ui-test-junit4"
|
|
const val composeUiTooling = "androidx.compose.ui:ui-tooling"
|
|
const val composeUiTestManifest = "androidx.compose.ui:ui-test-manifest"
|
|
|
|
}
|
|
|
|
// [END_FILE_Dependencies.kt]
|