build.gradle.kts raw

   1  import com.android.build.api.dsl.ApplicationExtension
   2  import org.jetbrains.kotlin.gradle.dsl.JvmTarget
   3  
   4  plugins {
   5      alias(libs.plugins.agp.application)
   6      alias(libs.plugins.kotlin.plugin.compose)
   7      alias(libs.plugins.kotlin.serialization)
   8      alias(libs.plugins.ksp)
   9  }
  10  
  11  val projectMinSdk: String by project
  12  val projectTargetSdk: String by project
  13  val projectCompileSdk: String by project
  14  val projectVersionCode: String by project
  15  val projectVersionName: String by project
  16  
  17  kotlin {
  18      compilerOptions {
  19          jvmTarget.set(JvmTarget.JVM_11)
  20      }
  21  }
  22  
  23  configure<ApplicationExtension> {
  24      namespace = "dev.mleku.advertize"
  25      compileSdk = projectCompileSdk.toInt()
  26  
  27      compileOptions {
  28          sourceCompatibility = JavaVersion.VERSION_11
  29          targetCompatibility = JavaVersion.VERSION_11
  30      }
  31  
  32      defaultConfig {
  33          applicationId = "dev.mleku.advertize"
  34          minSdk = projectMinSdk.toInt()
  35          targetSdk = projectTargetSdk.toInt()
  36          versionCode = projectVersionCode.toInt()
  37          versionName = projectVersionName
  38      }
  39  
  40      buildFeatures {
  41          compose = true
  42      }
  43  
  44      buildTypes {
  45          debug {
  46              applicationIdSuffix = ".debug"
  47              isDebuggable = true
  48          }
  49          release {
  50              isMinifyEnabled = true
  51              isShrinkResources = true
  52          }
  53      }
  54  }
  55  
  56  dependencies {
  57      val composeBom = platform(libs.androidx.compose.bom)
  58      implementation(composeBom)
  59      implementation(libs.androidx.activity.compose)
  60      implementation(libs.androidx.compose.material3)
  61      implementation(libs.androidx.compose.material.icons)
  62      implementation(libs.androidx.compose.ui)
  63      implementation(libs.androidx.compose.ui.tooling.preview)
  64      implementation(libs.androidx.compose.runtime.livedata)
  65      debugImplementation(libs.androidx.compose.ui.tooling)
  66  
  67      implementation(libs.androidx.core.ktx)
  68      implementation(libs.androidx.lifecycle.runtime.android)
  69      implementation(libs.androidx.lifecycle.service)
  70  
  71      implementation(libs.androidx.room.runtime)
  72      implementation(libs.androidx.room.ktx)
  73      ksp(libs.androidx.room.compiler)
  74  
  75      implementation(libs.kotlinx.coroutines)
  76      implementation(libs.kotlinx.serialization.json)
  77      implementation(libs.okhttp)
  78      implementation(libs.zxing.android.embedded)
  79  
  80      implementation(files("libs/crypto.aar"))
  81  }
  82