build.gradle.kts 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. plugins {
  2. id("com.android.application")
  3. id("org.jetbrains.kotlin.android")
  4. id("com.google.devtools.ksp")
  5. id("dagger.hilt.android.plugin")
  6. }
  7. android {
  8. namespace = "com.example.weather"
  9. compileSdk = 34
  10. defaultConfig {
  11. applicationId = "com.arklan.weather"
  12. minSdk = 26
  13. targetSdk = 34
  14. versionCode = 1
  15. versionName = "1.0"
  16. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  17. vectorDrawables {
  18. useSupportLibrary = true
  19. }
  20. }
  21. buildTypes {
  22. release {
  23. isMinifyEnabled = false
  24. proguardFiles(
  25. getDefaultProguardFile("proguard-android-optimize.txt"),
  26. "proguard-rules.pro"
  27. )
  28. }
  29. }
  30. compileOptions {
  31. sourceCompatibility = JavaVersion.VERSION_17
  32. targetCompatibility = JavaVersion.VERSION_17
  33. }
  34. kotlinOptions {
  35. jvmTarget = "17"
  36. }
  37. buildFeatures {
  38. compose = true
  39. }
  40. composeOptions {
  41. kotlinCompilerExtensionVersion = "1.5.3"
  42. }
  43. packaging {
  44. resources {
  45. excludes += "/META-INF/{AL2.0,LGPL2.1}"
  46. }
  47. }
  48. hilt {
  49. enableAggregatingTask = true
  50. }
  51. }
  52. dependencies {
  53. implementation(libs.androidx.core.ktx)
  54. implementation(libs.androidx.lifecycle.runtime.ktx)
  55. implementation(libs.androidx.activity.compose)
  56. implementation(libs.androidx.navigation.compose)
  57. implementation(libs.androidx.lifecycle.runtime.compose)
  58. implementation(libs.android.compose.material)
  59. implementation(platform("androidx.compose:compose-bom:2023.10.00"))
  60. implementation("androidx.compose.ui:ui")
  61. implementation("androidx.compose.ui:ui-graphics")
  62. implementation("androidx.compose.ui:ui-tooling-preview")
  63. implementation("androidx.compose.material3:material3")
  64. implementation(libs.kotlinx.collections.immutable)
  65. //Dagger - Hilt
  66. implementation(libs.hilt.android)
  67. implementation(libs.androidx.constraintlayout)
  68. ksp(libs.hilt.android.compiler)
  69. // Location Services
  70. implementation(libs.android.play.services.location)
  71. // Retrofit
  72. implementation(libs.retrofit.retrofit)
  73. implementation(libs.retrofit.converter.moshi)
  74. // Room
  75. implementation(libs.room.runtime)
  76. annotationProcessor(libs.room.compiler)
  77. ksp(libs.room.compiler)
  78. testImplementation(libs.junit.junit)
  79. androidTestImplementation(libs.androidx.junit)
  80. androidTestImplementation(libs.espresso.core)
  81. androidTestImplementation(platform("androidx.compose:compose-bom:2023.10.00"))
  82. androidTestImplementation("androidx.compose.ui:ui-test-junit4")
  83. debugImplementation("androidx.compose.ui:ui-tooling")
  84. debugImplementation("androidx.compose.ui:ui-test-manifest")
  85. implementation(libs.coroutines.test)
  86. }