build.gradle.kts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import com.codeskraps.weather.ConfigData
  2. plugins {
  3. alias(libs.plugins.android.application)
  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.weather"
  10. compileSdk = ConfigData.compileSdk
  11. defaultConfig {
  12. applicationId = "com.arklan.weather"
  13. minSdk = ConfigData.minSdk
  14. targetSdk = ConfigData.targetSdk
  15. versionCode = 18
  16. versionName = "2.6.2"
  17. setProperty("archivesBaseName", "weekly-weather-v$versionName.$versionCode")
  18. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  19. vectorDrawables {
  20. useSupportLibrary = true
  21. }
  22. }
  23. buildTypes {
  24. release {
  25. isMinifyEnabled = ConfigData.isMinifyRelease
  26. //applicationIdSuffix = ".release"
  27. //versionNameSuffix = "-RELEASE"
  28. proguardFiles(
  29. getDefaultProguardFile("proguard-android-optimize.txt"),
  30. "proguard-rules.pro"
  31. )
  32. isShrinkResources = true
  33. //signingConfig = signingConfigs.getByName("debug")
  34. }
  35. debug {
  36. isMinifyEnabled = ConfigData.isMinifyDebug
  37. applicationIdSuffix = ".debug"
  38. versionNameSuffix = "-DEBUG"
  39. }
  40. }
  41. compileOptions {
  42. sourceCompatibility = JavaVersion.VERSION_19
  43. targetCompatibility = JavaVersion.VERSION_19
  44. }
  45. kotlinOptions {
  46. jvmTarget = JavaVersion.VERSION_19.toString()
  47. }
  48. buildFeatures {
  49. compose = true
  50. }
  51. composeOptions {
  52. kotlinCompilerExtensionVersion = ConfigData.kotlinCompiler
  53. }
  54. packaging {
  55. resources {
  56. excludes += "/META-INF/{AL2.0,LGPL2.1}"
  57. }
  58. }
  59. }
  60. dependencies {
  61. implementation(project(mapOf("path" to ":feature:common")))
  62. implementation(project(mapOf("path" to ":feature:geocoding")))
  63. implementation(project(mapOf("path" to ":feature:weather")))
  64. implementation(project(mapOf("path" to ":feature:maps")))
  65. implementation(project(mapOf("path" to ":core:umami")))
  66. implementation(project(mapOf("path" to ":core:local")))
  67. implementation(project(mapOf("path" to ":core:location")))
  68. implementation(libs.androidx.core.ktx)
  69. implementation(libs.androidx.lifecycle.runtime.ktx)
  70. implementation(libs.androidx.activity.compose)
  71. implementation(libs.androidx.navigation.compose)
  72. implementation(libs.androidx.lifecycle.runtime.compose)
  73. implementation(libs.android.compose.material3)
  74. implementation(libs.androidx.core.splashscreen)
  75. val composeBom = platform(libs.androidx.compose.bom)
  76. implementation(composeBom)
  77. implementation(libs.androidx.compose.ui)
  78. implementation(libs.androidx.compose.graphics)
  79. implementation(libs.androidx.compose.tooling.preview)
  80. // Koin
  81. implementation(libs.koin.android)
  82. implementation(libs.koin.androidx.compose)
  83. implementation(libs.koin.androidx.compose.navigation)
  84. implementation(libs.coroutines.test)
  85. testImplementation(libs.junit.junit)
  86. androidTestImplementation(composeBom)
  87. androidTestImplementation(libs.androidx.junit)
  88. androidTestImplementation(libs.espresso.core)
  89. androidTestImplementation(libs.androidx.compose.test.junit4)
  90. debugImplementation(libs.androidx.compose.tooling)
  91. debugImplementation(libs.androidx.compose.test.manifest)
  92. }