Files
EasyLauncher/app/build.gradle.kts
HeCodes2Much 6533a3c0be Refactor: Made backup system more advanced.
Signed-off-by: HeCodes2Much <wayne6324@gmail.com>
2024-06-11 19:17:40 +01:00

156 lines
4.9 KiB
Kotlin

import java.util.Properties
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose")
id("kotlin-android")
id("kotlin-kapt")
id("kotlin-parcelize")
id("com.google.dagger.hilt.android")
id("dagger.hilt.android.plugin")
}
android {
namespace = "com.github.droidworksstudio.launcher"
compileSdk = 34
defaultConfig {
applicationId = "app.easy.launcher"
minSdk = 24
targetSdk = 34
versionCode = 15
versionName = "0.1.5"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["internetPermission"] = "android.permission.INTERNET"
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
isShrinkResources = false
isDebuggable = true
applicationIdSuffix = ".debug"
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
resValue("string", "app_name", "Easy Launcher (Debug)")
// resValue("string", "settings_backups_file", "autoBackup.debug.ini")
}
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
resValue("string", "app_name", "Easy Launcher")
// resValue("string", "settings_backups_file", "autoBackup.ini")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
buildFeatures {
compose = true
viewBinding = true
dataBinding = true
buildConfig = true
}
flavorDimensions.add("internet")
productFlavors {
create("withInternet") {
dimension = "internet"
manifestPlaceholders["internetPermission"] = "android.permission.INTERNET"
val weatherFile = project.rootProject.file("weather.properties")
val properties = Properties()
properties.load(weatherFile.inputStream())
val apiKey = properties.getProperty("WEATHER_API_KEY") ?: ""
buildConfigField(
type = "String",
name = "API_KEY",
value = "\"$apiKey\""
)
}
create("withoutInternet") {
dimension = "internet"
manifestPlaceholders["internetPermission"] = "REMOVE"
buildConfigField(
type = "String",
name = "API_KEY",
value = "\"REMOVE\""
)
}
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.14"
}
applicationVariants.all {
if (buildType.name == "release") {
outputs.all {
val output = this as? com.android.build.gradle.internal.api.BaseVariantOutputImpl
if (output?.outputFileName?.endsWith(".apk") == true) {
output.outputFileName =
"${defaultConfig.applicationId}_v${defaultConfig.versionName}-Signed.apk"
}
}
}
if (buildType.name == "debug") {
outputs.all {
val output = this as? com.android.build.gradle.internal.api.BaseVariantOutputImpl
if (output?.outputFileName?.endsWith(".apk") == true) {
output.outputFileName =
"${defaultConfig.applicationId}_v${defaultConfig.versionName}-Debug.apk"
}
}
}
}
}
dependencies {
implementation(libs.core.ktx)
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.retrofit)
implementation(libs.converter.gson)
implementation(libs.constraintlayout)
implementation(libs.navigation.fragment.ktx)
implementation(libs.navigation.ui.ktx)
implementation(libs.lifecycle.runtime.ktx)
implementation(libs.lifecycle.process)
implementation(libs.lifecycle.viewmodel.ktx)
implementation(libs.work.runtime.ktx)
implementation(libs.recyclerview)
implementation(libs.preference)
implementation(libs.biometric.ktx)
implementation(libs.room.ktx)
implementation(libs.room.runtime)
implementation(libs.androidx.runtime.android)
implementation(libs.androidx.ui.android)
//noinspection KaptUsageInsteadOfKsp
kapt(libs.room.compiler)
implementation(libs.dagger.hilt.android)
kapt(libs.dagger.hilt.compiler)
implementation(libs.color.chooser)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}