You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Android/src/app/build.gradle.kts

140 lines
3.6 KiB

import org.gradle.language.nativeplatform.internal.BuildType
import java.io.FileInputStream
import java.util.Properties
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
id("dagger.hilt.android.plugin")
id("com.starter.easylauncher")
}
// Keystore
val keystorePropertiesFile = rootProject.file("keys/keystore.properties")
val keystoreProperties = Properties()
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
android {
namespace = "fr.iut.alldev.allin"
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
applicationId = "fr.iut.alldev.allin"
minSdk = libs.versions.minSdk.get().toInt()
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
signingConfigs {
named(BuildType.DEBUG.name) {
storeFile = file(keystoreProperties["debugStoreFile"].toString())
}
register(BuildType.RELEASE.name) {
storeFile = file(keystoreProperties["releaseStoreFile"].toString())
storePassword = keystoreProperties["passwordRelease"].toString()
keyAlias = keystoreProperties["aliasRelease"].toString()
keyPassword = keystoreProperties["passwordRelease"].toString()
}
}
buildTypes {
debug {
isMinifyEnabled = false
versionNameSuffix = "-debug"
applicationIdSuffix = ".debug"
signingConfig = signingConfigs.getByName(BuildType.DEBUG.name)
}
release {
isMinifyEnabled = true
isShrinkResources = true
signingConfig = signingConfigs.getByName(BuildType.RELEASE.name)
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
buildFeatures {
compose = true
buildConfig = true
}
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
flavorDimensions += listOf("env")
productFlavors {
create("dev") {
dimension = "env"
versionNameSuffix = "-dev"
applicationIdSuffix = ".dev"
}
create("prod") {
dimension = "env"
}
}
}
easylauncher {
buildTypes {
register(BuildType.DEBUG.name).configure {
filters(redRibbonFilter())
}
}
productFlavors {
register("dev") {
filters(chromeLike())
}
}
}
dependencies {
implementation(project(":data"))
// Android
implementation(libs.bundles.android)
// Lifecycle
implementation(libs.bundles.androidx.lifecycle)
// Compose
implementation(platform(libs.compose.bom))
implementation(libs.bundles.compose)
// Hilt
implementation(libs.hilt.android)
kapt(libs.hilt.compiler)
implementation(libs.hilt.navigation.compose)
// Timber
implementation(libs.timber)
// Squircle
implementation(libs.smoothCornerRect)
// Tests
testImplementation(libs.test.junit)
androidTestImplementation(libs.test.junit)
androidTestImplementation(libs.test.espresso)
androidTestImplementation(libs.test.androidx.junit)
androidTestImplementation(libs.hilt.androidTesting)
kaptAndroidTest(libs.hilt.androidCompiler)
androidTestImplementation(libs.ui.test.junit)
debugImplementation(libs.ui.test.manifest)
}