zanbur/app/build.gradle.kts

82 lines
2.5 KiB
Kotlin

import java.io.FileInputStream
import java.util.Properties
import org.gradle.kotlin.dsl.android
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val keystoreProperties = Properties ()
keystoreProperties . load ( FileInputStream ( rootProject . file ("keystore.properties") ) )
plugins {
id ("com.android.application") . version ("8.8.1")
id ("org.jetbrains.kotlin.android") . version ("2.1.10")
id ("org.jetbrains.kotlin.plugin.compose") . version ("2.1.10")
id ("org.jetbrains.kotlin.plugin.serialization") . version ("2.1.10")
}
android {
namespace = "com.kernelmaft.zanbur"
compileSdk = 35
defaultConfig {
applicationId = "com.kernelmaft.zanbur"
minSdk = 35
targetSdk = 35
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
}
kotlinOptions {
jvmTarget = "23"
}
buildFeatures {
compose = true
}
}
dependencies {
// Android runtime libraries
implementation ( "com.google.android.material" , "material" , "1.12.0" )
implementation ( "androidx.activity" , "activity-compose" , "1.10.0" )
implementation ( "androidx.core" , "core-ktx" , "1.15.0" )
implementation ( "androidx.compose.material3" , "material3" , "1.3.1" )
implementation ( "androidx.compose.ui" , "ui" , "1.7.8" )
implementation ( "androidx.compose.ui" , "ui-graphics" , "1.7.8" )
debugImplementation ( "androidx.compose.ui" , "ui-tooling" , "1.7.8" )
implementation ( "androidx.lifecycle" , "lifecycle-runtime-ktx" , "2.8.7" )
implementation ( "org.jetbrains.kotlinx" , "kotlinx-coroutines-android" , "1.10.1" )
implementation ( "org.jetbrains.kotlinx" , "kotlinx-serialization-json" , "1.8.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")
}
}