build.gradle.kts 3.7 KB

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