build.gradle.kts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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.common"
  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(libs.androidx.core.ktx)
  49. implementation(libs.androidx.lifecycle.runtime.ktx)
  50. implementation(libs.androidx.activity.compose)
  51. implementation(libs.androidx.navigation.compose)
  52. implementation(libs.androidx.lifecycle.runtime.compose)
  53. implementation(libs.android.compose.material3)
  54. val composeBom = platform(libs.androidx.compose.bom)
  55. implementation(composeBom)
  56. implementation(libs.androidx.compose.ui)
  57. implementation(libs.androidx.compose.graphics)
  58. implementation(libs.androidx.compose.tooling.preview)
  59. // Koin
  60. implementation(libs.koin.android)
  61. implementation(libs.koin.androidx.compose)
  62. // Coroutines
  63. implementation(libs.kotlinx.coroutines.core)
  64. implementation(libs.kotlinx.coroutines.android)
  65. testImplementation(libs.junit.junit)
  66. testImplementation(libs.coroutines.test)
  67. androidTestImplementation(libs.androidx.junit)
  68. androidTestImplementation(libs.espresso.core)
  69. }