initial commit
This commit is contained in:
12
buildSrc/build.gradle.kts
Normal file
12
buildSrc/build.gradle.kts
Normal file
@@ -0,0 +1,12 @@
|
||||
// [FILE] buildSrc/build.gradle.kts
|
||||
// [PURPOSE] Build file for the buildSrc module, enabling access to Gradle APIs.
|
||||
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
// [END_FILE_buildSrc/build.gradle.kts]
|
||||
100
buildSrc/src/main/java/Dependencies.kt
Normal file
100
buildSrc/src/main/java/Dependencies.kt
Normal file
@@ -0,0 +1,100 @@
|
||||
// [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 converterGson = "com.squareup.retrofit2:converter-gson:${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]
|
||||
Reference in New Issue
Block a user