build.gradle.kts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import com.codeskraps.weather.ConfigData
  2. plugins {
  3. alias(libs.plugins.android.library)
  4. alias(libs.plugins.org.jetbrains.kotlin.android)
  5. alias(libs.plugins.com.google.devtools.ksp)
  6. alias(libs.plugins.compose.compiler)
  7. }
  8. android {
  9. namespace = "com.codeskraps.feature.weather"
  10. compileSdk = ConfigData.compileSdk
  11. defaultConfig {
  12. minSdk = ConfigData.minSdk
  13. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  14. consumerProguardFiles("consumer-rules.pro")
  15. }
  16. buildTypes {
  17. release {
  18. isMinifyEnabled = ConfigData.isMinifyRelease
  19. proguardFiles(
  20. getDefaultProguardFile("proguard-android-optimize.txt"),
  21. "proguard-rules.pro"
  22. )
  23. }
  24. debug {
  25. isMinifyEnabled = ConfigData.isMinifyDebug
  26. }
  27. }
  28. compileOptions {
  29. sourceCompatibility = JavaVersion.VERSION_19
  30. targetCompatibility = JavaVersion.VERSION_19
  31. }
  32. kotlinOptions {
  33. jvmTarget = JavaVersion.VERSION_19.toString()
  34. }
  35. buildFeatures {
  36. compose = true
  37. }
  38. composeOptions {
  39. kotlinCompilerExtensionVersion = ConfigData.kotlinCompiler
  40. }
  41. packaging {
  42. resources {
  43. excludes += "/META-INF/{AL2.0,LGPL2.1}"
  44. }
  45. }
  46. }
  47. dependencies {
  48. implementation(project(mapOf("path" to ":feature:common")))
  49. implementation(project(mapOf("path" to ":core:local")))
  50. implementation(project(mapOf("path" to ":core:location")))
  51. implementation(project(mapOf("path" to ":core:umami")))
  52. implementation(libs.androidx.core.ktx)
  53. implementation(libs.androidx.lifecycle.runtime.ktx)
  54. implementation(libs.androidx.activity.compose)
  55. implementation(libs.androidx.navigation.compose)
  56. implementation(libs.androidx.lifecycle.runtime.compose)
  57. implementation(libs.android.compose.material3)
  58. val composeBom = platform(libs.androidx.compose.bom)
  59. implementation(composeBom)
  60. implementation(libs.androidx.compose.ui)
  61. implementation(libs.androidx.compose.graphics)
  62. implementation(libs.androidx.compose.tooling.preview)
  63. implementation(libs.androidx.animation.graphics.android)
  64. implementation(libs.android.compose.material)
  65. // Koin
  66. implementation(libs.koin.android)
  67. implementation(libs.koin.androidx.compose)
  68. // Retrofit & Moshi
  69. implementation(libs.retrofit.retrofit)
  70. implementation(libs.retrofit.converter.moshi)
  71. implementation(libs.moshi.kotlin)
  72. ksp(libs.moshi.kotlin.codegen)
  73. // Immutable Collections
  74. implementation(libs.kotlinx.collections.immutable)
  75. testImplementation(libs.junit.junit)
  76. androidTestImplementation(libs.androidx.junit)
  77. androidTestImplementation(libs.espresso.core)
  78. }