build.gradle 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. plugins {
  2. id 'com.android.application'
  3. id 'org.jetbrains.kotlin.android'
  4. id 'org.jetbrains.kotlin.plugin.serialization'
  5. id 'com.google.devtools.ksp'
  6. id 'org.sirekanyan.version-checker'
  7. }
  8. android {
  9. namespace "com.sirekanian.spacetime"
  10. compileSdk 34
  11. defaultConfig {
  12. applicationId "com.sirekanian.spacetime"
  13. minSdk 21
  14. targetSdk 34
  15. versionCode appVersionCode as int
  16. versionName appVersionName
  17. archivesBaseName = "$applicationId-$versionName-$versionCode"
  18. vectorDrawables {
  19. useSupportLibrary true
  20. }
  21. }
  22. buildTypes {
  23. debug {
  24. applicationIdSuffix '.debug'
  25. }
  26. release {
  27. minifyEnabled true
  28. shrinkResources true
  29. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.pro'
  30. signingConfig signingConfigs.debug
  31. }
  32. }
  33. compileOptions {
  34. sourceCompatibility JavaVersion.VERSION_11
  35. targetCompatibility JavaVersion.VERSION_11
  36. }
  37. kotlin {
  38. jvmToolchain(11)
  39. }
  40. buildFeatures {
  41. buildConfig true
  42. compose true
  43. }
  44. composeOptions {
  45. kotlinCompilerExtensionVersion composeCompilerVersion
  46. }
  47. packagingOptions {
  48. resources {
  49. excludes += '/META-INF/{AL2.0,LGPL2.1}'
  50. }
  51. }
  52. kotlinOptions {
  53. allWarningsAsErrors = true
  54. }
  55. lint {
  56. warningsAsErrors = true
  57. }
  58. }
  59. ksp {
  60. arg('room.schemaLocation', "$projectDir/schemas")
  61. }
  62. dependencies {
  63. // compose
  64. // noinspection GradleDependency https://issuetracker.google.com/issues/294562502
  65. implementation "androidx.compose.material:material:$composeLibraryVersion"
  66. implementation "androidx.activity:activity-compose:1.7.2"
  67. // room
  68. implementation "androidx.room:room-ktx:2.5.2"
  69. ksp "androidx.room:room-compiler:2.5.2"
  70. // coil
  71. implementation "io.coil-kt:coil-compose:2.4.0"
  72. // datetime
  73. implementation 'org.jetbrains.kotlinx:kotlinx-datetime:0.4.0'
  74. // ktor
  75. implementation 'io.ktor:ktor-client-android:2.3.3'
  76. implementation 'io.ktor:ktor-client-content-negotiation:2.3.3'
  77. implementation 'io.ktor:ktor-serialization-kotlinx-json:2.3.3'
  78. }
  79. versionCheckerOptions {
  80. // https://issuetracker.google.com/issues/294562502
  81. lessThan("androidx.compose.material:material", "1.5.0")
  82. }