build.gradle.kts 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. alias(libs.plugins.secrets.gradle.plugin)
  8. }
  9. android {
  10. namespace = "com.codeskraps.maps"
  11. compileSdk = ConfigData.compileSdk
  12. defaultConfig {
  13. minSdk = ConfigData.minSdk
  14. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  15. consumerProguardFiles("consumer-rules.pro")
  16. }
  17. buildTypes {
  18. release {
  19. isMinifyEnabled = ConfigData.isMinifyRelease
  20. proguardFiles(
  21. getDefaultProguardFile("proguard-android-optimize.txt"),
  22. "proguard-rules.pro"
  23. )
  24. }
  25. debug {
  26. isMinifyEnabled = ConfigData.isMinifyDebug
  27. }
  28. }
  29. compileOptions {
  30. sourceCompatibility = JavaVersion.VERSION_19
  31. targetCompatibility = JavaVersion.VERSION_19
  32. }
  33. kotlinOptions {
  34. jvmTarget = JavaVersion.VERSION_19.toString()
  35. }
  36. buildFeatures {
  37. compose = true
  38. }
  39. composeOptions {
  40. kotlinCompilerExtensionVersion = ConfigData.kotlinCompiler
  41. }
  42. packaging {
  43. resources {
  44. excludes += "/META-INF/{AL2.0,LGPL2.1}"
  45. }
  46. }
  47. }
  48. secrets {
  49. // Optionally specify a different file name containing your secrets.
  50. // The plugin defaults to "local.properties"
  51. propertiesFileName = "secrets.properties"
  52. // A properties file containing default secret values. This file can be
  53. // checked in version control.
  54. defaultPropertiesFileName = "local.defaults.properties"
  55. // Configure which keys should be ignored by the plugin by providing regular expressions.
  56. // "sdk.dir" is ignored by default.
  57. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
  58. ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*"
  59. }
  60. dependencies {
  61. implementation(project(mapOf("path" to ":feature:common")))
  62. implementation(project(mapOf("path" to ":feature:weather")))
  63. implementation(project(mapOf("path" to ":core:location")))
  64. implementation(project(mapOf("path" to ":core:local")))
  65. implementation(project(mapOf("path" to ":core:umami")))
  66. implementation(libs.androidx.core.ktx)
  67. implementation(libs.androidx.lifecycle.runtime.ktx)
  68. implementation(libs.androidx.activity.compose)
  69. implementation(libs.androidx.navigation.compose)
  70. implementation(libs.androidx.lifecycle.runtime.compose)
  71. implementation(libs.android.compose.material3)
  72. val composeBom = platform(libs.androidx.compose.bom)
  73. implementation(composeBom)
  74. implementation(libs.androidx.compose.ui)
  75. implementation(libs.androidx.compose.graphics)
  76. implementation(libs.androidx.compose.tooling.preview)
  77. // Koin
  78. implementation(libs.koin.android)
  79. implementation(libs.koin.androidx.compose)
  80. implementation(libs.play.services.maps)
  81. implementation(libs.maps.compose)
  82. testImplementation(libs.junit.junit)
  83. androidTestImplementation(libs.androidx.junit)
  84. androidTestImplementation(libs.espresso.core)
  85. }