zanbur/app/build.gradle.kts

86 lines
2.5 KiB
Kotlin

import java.io.FileInputStream
import java.util.Properties
import org.gradle.kotlin.dsl.android
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val keystoreProperties = Properties ()
keystoreProperties . load ( FileInputStream ( rootProject . file ("keystore.properties") ) )
plugins {
id ("com.android.application") . version ("8.13.1")
id ("org.jetbrains.kotlin.android") . version ("2.2.21")
id ("org.jetbrains.kotlin.plugin.compose") . version ("2.2.21")
id ("org.jetbrains.kotlin.plugin.serialization") . version ("2.2.21")
}
android {
namespace = "com.kernelmaft.zanbur"
compileSdk = 36
defaultConfig {
applicationId = "com.kernelmaft.zanbur"
minSdk = 36
targetSdk = 36
versionCode = 1
versionName = "1.0"
}
signingConfigs {
create ("kernelmaft") {
keyAlias = "kernelmaft"
keyPassword = keystoreProperties ["keyPassword"] as String
storeFile = file ( keystoreProperties ["storeFile"] as String )
storePassword = keystoreProperties ["storePassword"] as String
}
}
buildTypes {
debug {
signingConfig = signingConfigs . getByName ("kernelmaft")
}
release {
isMinifyEnabled = true
isShrinkResources = true
signingConfig = signingConfigs . getByName ("kernelmaft")
}
}
compileOptions {
// Required even though we don't have any Java sources because it needs to match Kotlin's JVM version
targetCompatibility = JavaVersion . VERSION_23
}
buildFeatures {
compose = true
}
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget . JVM_23
}
}
dependencies {
// Android runtime libraries
implementation ( "com.google.android.material:material:1.13.0" )
implementation ( "androidx.activity:activity-compose:1.12.1" )
implementation ( "androidx.core:core-ktx:1.17.0" )
implementation ( "androidx.compose.material3:material3:1.4.0" )
implementation ( "androidx.compose.ui:ui:1.10.0" )
implementation ( "androidx.compose.ui:ui-graphics:1.10.0" )
debugImplementation ( "androidx.compose.ui:ui-tooling:1.10.0" )
implementation ( "androidx.lifecycle:lifecycle-runtime-ktx:2.10.0" )
implementation ( "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2" )
implementation ( "org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0" )
// Other libraries
implementation ( "io.github.davidepianca98:kmqtt-common:1.0.0" )
implementation ( "io.github.davidepianca98:kmqtt-client:1.0.0" )
}
tasks . withType ( KotlinCompile :: class ) . all {
compilerOptions {
freeCompilerArgs . addAll ("-opt-in=kotlin.ExperimentalUnsignedTypes")
}
}