zanbur/app/build.gradle.kts
Reinout Meliesie eebb3a589d
Reformat to use more standard Android code style
Follows stock Android Studio styles for Kotlin and XML except that we
use an indent of two and allow up to three consecutive empty lines.
2026-01-22 19:29:45 +01:00

85 lines
2.4 KiB
Kotlin

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.io.FileInputStream
import java.util.Properties
val keystoreProperties = Properties()
keystoreProperties.load(FileInputStream(rootProject.file("keystore.properties")))
plugins {
id("com.android.application").version("9.0.0")
id("org.jetbrains.kotlin.plugin.compose").version("2.3.0")
id("org.jetbrains.kotlin.plugin.serialization").version("2.3.0")
}
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_25
}
buildFeatures {
compose = true
}
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_25
}
}
dependencies {
// Android runtime libraries.
implementation("com.google.android.material:material:1.13.0")
implementation("androidx.activity:activity-compose:1.12.2")
implementation("androidx.core:core-ktx:1.17.0")
implementation("androidx.compose.material3:material3:1.4.0")
implementation("androidx.compose.ui:ui:1.10.1")
implementation("androidx.compose.ui:ui-graphics:1.10.1")
debugImplementation("androidx.compose.ui:ui-tooling:1.10.1")
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.10.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")
}
}