112 lines
3.4 KiB
Text
112 lines
3.4 KiB
Text
import java.io.FileInputStream
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
import org.jetbrains.kotlin.konan.properties.Properties
|
|
|
|
plugins {
|
|
alias(libs.plugins.android)
|
|
alias(libs.plugins.kotlinAndroid)
|
|
alias(libs.plugins.ksp)
|
|
}
|
|
|
|
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
|
|
val keystoreProperties = Properties()
|
|
if (keystorePropertiesFile.exists()) {
|
|
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
|
|
}
|
|
|
|
android {
|
|
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
|
|
|
|
defaultConfig {
|
|
minSdk = project.libs.versions.app.build.minimumSDK.get().toInt()
|
|
targetSdk = project.libs.versions.app.build.targetSDK.get().toInt()
|
|
versionName = project.libs.versions.app.version.versionName.get()
|
|
versionCode = project.libs.versions.app.version.versionCode.get().toInt()
|
|
setProperty("archivesBaseName", "calculator")
|
|
}
|
|
|
|
signingConfigs {
|
|
if (keystorePropertiesFile.exists()) {
|
|
register("release") {
|
|
keyAlias = keystoreProperties.getProperty("keyAlias")
|
|
keyPassword = keystoreProperties.getProperty("keyPassword")
|
|
storeFile = file(keystoreProperties.getProperty("storeFile"))
|
|
storePassword = keystoreProperties.getProperty("storePassword")
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix = ".debug"
|
|
}
|
|
release {
|
|
isMinifyEnabled = true
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
if (keystorePropertiesFile.exists()) {
|
|
signingConfig = signingConfigs.getByName("release")
|
|
}
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding = true
|
|
compose = true
|
|
buildConfig = true
|
|
}
|
|
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
|
|
}
|
|
|
|
flavorDimensions.add("variants")
|
|
productFlavors {
|
|
register("core")
|
|
register("fdroid")
|
|
register("prepaid")
|
|
}
|
|
|
|
compileOptions {
|
|
val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString())
|
|
sourceCompatibility = currentJavaVersionFromLibs
|
|
targetCompatibility = currentJavaVersionFromLibs
|
|
}
|
|
|
|
tasks.withType<KotlinCompile> {
|
|
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
|
|
kotlinOptions.freeCompilerArgs = listOf(
|
|
"-opt-in=kotlin.RequiresOptIn",
|
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
|
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
|
|
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
|
|
"-Xcontext-receivers"
|
|
)
|
|
}
|
|
|
|
sourceSets {
|
|
getByName("main").java.srcDirs("src/main/kotlin")
|
|
}
|
|
|
|
lint {
|
|
checkReleaseBuilds = false
|
|
abortOnError = false
|
|
}
|
|
namespace = "com.simplemobiletools.calculator"
|
|
}
|
|
|
|
dependencies {
|
|
implementation(libs.simple.tools.commons)
|
|
implementation(libs.auto.fit.text.view)
|
|
implementation(libs.exp4j)
|
|
|
|
implementation(libs.bundles.compose)
|
|
implementation(libs.bundles.accompanist)
|
|
implementation(libs.bundles.compose.preview)
|
|
|
|
implementation(libs.bundles.room)
|
|
ksp(libs.androidx.room.compiler)
|
|
|
|
}
|