generated from dellevin/template
120 lines
4.0 KiB
Kotlin
120 lines
4.0 KiB
Kotlin
import java.util.Properties
|
|
|
|
plugins {
|
|
alias(libs.plugins.android.application)
|
|
alias(libs.plugins.kotlin.android)
|
|
alias(libs.plugins.kotlin.compose)
|
|
}
|
|
|
|
val localProperties = Properties().apply {
|
|
val file = rootProject.file("local.properties")
|
|
if (file.exists()) {
|
|
file.inputStream().use(::load)
|
|
}
|
|
}
|
|
|
|
fun buildConfigString(value: String): String =
|
|
"\"" + value.replace("\\", "\\\\").replace("\"", "\\\"") + "\""
|
|
|
|
val premiumApiUrls = localProperties.getProperty("PREMIUM_API_URLS")
|
|
?: System.getenv("PREMIUM_API_URLS")
|
|
?: "https://activation-server-production-29da.up.railway.app"
|
|
|
|
|
|
android {
|
|
namespace = Configs.namespace
|
|
compileSdk = Configs.compileSdk
|
|
|
|
buildFeatures {
|
|
buildConfig = true
|
|
aidl = true
|
|
compose = true
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId = Configs.applicationId
|
|
minSdk = Configs.minSdk
|
|
targetSdk = Configs.targetSdk
|
|
versionCode = System.getenv("VERSION_CODE")?.toIntOrNull() ?: Configs.versionCode
|
|
versionName = System.getenv("VERSION_NAME") ?: Configs.versionName
|
|
buildConfigField(
|
|
"String",
|
|
"PREMIUM_API_URLS",
|
|
buildConfigString(premiumApiUrls)
|
|
)
|
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
signingConfigs {
|
|
getByName("debug") {
|
|
enableV1Signing = true
|
|
enableV2Signing = true
|
|
enableV3Signing = true
|
|
enableV4Signing = true
|
|
}
|
|
create("release") {
|
|
val keyPath = localProperties.getProperty("RELEASE_STORE_FILE")
|
|
if (keyPath != null) {
|
|
storeFile = file(keyPath)
|
|
storePassword = localProperties.getProperty("RELEASE_STORE_PASSWORD")
|
|
keyAlias = localProperties.getProperty("RELEASE_KEY_ALIAS")
|
|
keyPassword = localProperties.getProperty("RELEASE_KEY_PASSWORD")
|
|
} else {
|
|
// Fallback to debug signature for community contributors building a release
|
|
storeFile = getByName("debug").storeFile
|
|
storePassword = getByName("debug").storePassword
|
|
keyAlias = getByName("debug").keyAlias
|
|
keyPassword = getByName("debug").keyPassword
|
|
}
|
|
enableV1Signing = true
|
|
enableV2Signing = true
|
|
enableV3Signing = true
|
|
enableV4Signing = true
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
signingConfig = signingConfigs.getByName("release")
|
|
isMinifyEnabled = true
|
|
isShrinkResources = true
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = Configs.javaVersion
|
|
targetCompatibility = Configs.javaVersion
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = Configs.jvmTarget
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly("de.robv.android.xposed:api:82")
|
|
implementation(project(":premium-api"))
|
|
implementation("com.github.topjohnwu.libsu:core:6.0.0")
|
|
implementation(libs.androidx.core.ktx)
|
|
implementation(libs.androidx.activity.compose)
|
|
implementation(platform(libs.androidx.compose.bom))
|
|
implementation(libs.androidx.compose.foundation)
|
|
implementation(libs.androidx.compose.material3)
|
|
implementation(libs.androidx.compose.ui)
|
|
implementation(libs.androidx.compose.ui.tooling.preview)
|
|
implementation(libs.androidx.appcompat)
|
|
implementation(libs.material)
|
|
debugImplementation(libs.androidx.compose.ui.tooling)
|
|
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
|
testImplementation(libs.junit)
|
|
androidTestImplementation(libs.androidx.junit)
|
|
androidTestImplementation(libs.androidx.test.runner)
|
|
androidTestImplementation(libs.androidx.test.rules)
|
|
androidTestImplementation(libs.androidx.espresso.core)
|
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
|
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
|
|
}
|