Files
KsuWebUIStandalone/app/build.gradle.kts
2024-10-04 11:33:43 +08:00

85 lines
2.4 KiB
Plaintext

import java.io.FileInputStream
import java.util.Properties
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
}
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
val keystoreProperties = if (keystorePropertiesFile.exists() && keystorePropertiesFile.isFile) {
Properties().apply {
load(FileInputStream(keystorePropertiesFile))
}
} else null
android {
namespace = "io.github.a13e300.ksuwebui"
compileSdk = 35
signingConfigs {
if (keystoreProperties != null) {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["storePassword"] as String
}
}
}
defaultConfig {
applicationId = "io.github.a13e300.ksuwebui"
minSdk = 26
targetSdk = 35
versionCode = 1
versionName = "1.0"
setProperty("archivesBaseName", "KsuWebUI-$versionName-$versionCode")
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
val releaseSig = signingConfigs.findByName("release")
signingConfig = if (releaseSig != null) releaseSig else {
println("use debug signing config")
signingConfigs["debug"]
}
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
kotlinOptions {
jvmTarget = "21"
}
buildFeatures {
buildConfig = true
viewBinding = true
}
packaging {
resources {
excludes += "**"
}
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.webkit)
implementation(libs.material)
implementation(libs.com.github.topjohnwu.libsu.core)
implementation(libs.com.github.topjohnwu.libsu.service)
implementation(libs.com.github.topjohnwu.libsu.io)
implementation(libs.androidx.swiperefreshlayout)
}