build.gradle.kts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import com.google.protobuf.gradle.*
  2. plugins {
  3. id("com.android.application")
  4. id("dagger.hilt.android.plugin")
  5. id("com.google.protobuf") version "0.9.0"
  6. kotlin("android")
  7. kotlin("kapt")
  8. }
  9. android {
  10. compileSdkVersion(33)
  11. defaultConfig {
  12. applicationId = "com.simplauncher"
  13. minSdkVersion(21)
  14. targetSdkVersion(33)
  15. versionName = "2.1.1"
  16. versionCode = 21
  17. vectorDrawables { useSupportLibrary = true }
  18. // signingConfigs {
  19. // if (project.extra.has("RELEASE_STORE_FILE")) {
  20. // register("release") {
  21. // storeFile = file(project.extra["RELEASE_STORE_FILE"] as String)
  22. // storePassword = project.extra["RELEASE_STORE_PASSWORD"] as String
  23. // keyAlias = project.extra["RELEASE_KEY_ALIAS"] as String
  24. // keyPassword = project.extra["RELEASE_KEY_PASSWORD"] as String
  25. // }
  26. // }
  27. // }
  28. }
  29. buildTypes {
  30. named("release").configure {
  31. isMinifyEnabled = true
  32. isShrinkResources = true
  33. proguardFiles(
  34. getDefaultProguardFile("proguard-android-optimize.txt"),
  35. "proguard-rules.pro"
  36. )
  37. // signingConfig = signingConfigs.maybeCreate("release")
  38. }
  39. named("debug").configure {
  40. isMinifyEnabled = false
  41. proguardFiles(
  42. getDefaultProguardFile("proguard-android-optimize.txt"),
  43. "proguard-rules.pro"
  44. )
  45. }
  46. }
  47. compileOptions {
  48. sourceCompatibility = JavaVersion.VERSION_17
  49. targetCompatibility = JavaVersion.VERSION_17
  50. }
  51. kotlinOptions {
  52. jvmTarget = JavaVersion.VERSION_17.toString()
  53. }
  54. testOptions {
  55. unitTests.isIncludeAndroidResources = true
  56. }
  57. buildFeatures {
  58. viewBinding = true
  59. }
  60. namespace = "com.simplauncher"
  61. applicationVariants.all{
  62. outputs.all {
  63. (this as com.android.build.gradle.internal.api.BaseVariantOutputImpl).outputFileName = "${applicationId}.apk"
  64. }
  65. }
  66. }
  67. dependencies {
  68. implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
  69. // Kotlin Libraries
  70. implementation("org.jetbrains.kotlin:kotlin-stdlib:1.7.22")
  71. // Support Libraries
  72. implementation("androidx.appcompat:appcompat:1.6.1")
  73. implementation("androidx.recyclerview:recyclerview:1.3.0")
  74. implementation("androidx.constraintlayout:constraintlayout:2.1.4")
  75. implementation("androidx.datastore:datastore:1.0.0")
  76. implementation("androidx.datastore:datastore-core:1.0.0")
  77. implementation("com.google.protobuf:protobuf-javalite:3.23.3")
  78. // Arch Components
  79. implementation("androidx.core:core-ktx:1.9.0")
  80. implementation("androidx.fragment:fragment-ktx:1.5.7")
  81. implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")
  82. implementation("androidx.navigation:navigation-fragment-ktx:2.5.3")
  83. implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.5.1")
  84. implementation("androidx.room:room-runtime:2.5.1")
  85. kapt("androidx.room:room-compiler:2.5.1")
  86. //3rd party libs
  87. implementation("com.intuit.sdp:sdp-android:1.0.6")
  88. implementation("com.intuit.ssp:ssp-android:1.0.6")
  89. implementation("com.google.dagger:hilt-android:2.44.2")
  90. kapt("androidx.hilt:hilt-compiler:1.0.0")
  91. kapt("com.google.dagger:hilt-android-compiler:2.44")
  92. }
  93. protobuf {
  94. protoc {
  95. artifact = "com.google.protobuf:protoc:3.17.3"
  96. }
  97. generateProtoTasks {
  98. all().forEach { task ->
  99. task.builtins {
  100. id("java") {
  101. option("lite")
  102. }
  103. }
  104. }
  105. }
  106. }