import com.android.build.api.dsl.ApplicationExtension import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.agp.application) alias(libs.plugins.kotlin.plugin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ksp) } val projectMinSdk: String by project val projectTargetSdk: String by project val projectCompileSdk: String by project val projectVersionCode: String by project val projectVersionName: String by project kotlin { compilerOptions { jvmTarget.set(JvmTarget.JVM_11) } } configure { namespace = "dev.mleku.advertize" compileSdk = projectCompileSdk.toInt() compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } defaultConfig { applicationId = "dev.mleku.advertize" minSdk = projectMinSdk.toInt() targetSdk = projectTargetSdk.toInt() versionCode = projectVersionCode.toInt() versionName = projectVersionName } buildFeatures { compose = true } buildTypes { debug { applicationIdSuffix = ".debug" isDebuggable = true } release { isMinifyEnabled = true isShrinkResources = true } } } dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.material.icons) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.runtime.livedata) debugImplementation(libs.androidx.compose.ui.tooling) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.android) implementation(libs.androidx.lifecycle.service) implementation(libs.androidx.room.runtime) implementation(libs.androidx.room.ktx) ksp(libs.androidx.room.compiler) implementation(libs.kotlinx.coroutines) implementation(libs.kotlinx.serialization.json) implementation(libs.okhttp) implementation(libs.zxing.android.embedded) implementation(files("libs/crypto.aar")) }