Implement independent hardening and regression coverage. Keep #105 open for final feature and environment coverage after #106–#110; document the completion boundary and resume order.
97 lines
3.2 KiB
Kotlin
97 lines
3.2 KiB
Kotlin
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
|
|
plugins {
|
|
alias(libs.plugins.android.application)
|
|
alias(libs.plugins.compose)
|
|
alias(libs.plugins.hilt)
|
|
alias(libs.plugins.ksp)
|
|
}
|
|
|
|
android {
|
|
namespace = "de.rfc1437.ironstorage"
|
|
compileSdk = libs.versions.compileSdk.get().toInt()
|
|
ndkVersion = libs.versions.ndk.get()
|
|
defaultConfig {
|
|
minSdk = libs.versions.minSdk.get().toInt()
|
|
applicationId = "de.rfc1437.ironstorage"
|
|
targetSdk = libs.versions.compileSdk.get().toInt()
|
|
versionCode = 1
|
|
versionName = "1.0.1"
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
ndk { abiFilters += listOf("arm64-v8a", "armeabi-v7a") }
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
buildFeatures { compose = true }
|
|
buildTypes {
|
|
debug { isDebuggable = true }
|
|
release {
|
|
isMinifyEnabled = true
|
|
isShrinkResources = true
|
|
ndk { debugSymbolLevel = "FULL" }
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
}
|
|
}
|
|
buildTypes.create("benchmark") {
|
|
initWith(buildTypes.getByName("release"))
|
|
signingConfig = signingConfigs.getByName("debug")
|
|
matchingFallbacks += "release"
|
|
}
|
|
sourceSets.getByName("benchmark").kotlin.srcDir("src/release/kotlin")
|
|
buildTypes.create("profile") {
|
|
initWith(buildTypes.getByName("benchmark"))
|
|
isMinifyEnabled = false
|
|
isShrinkResources = false
|
|
}
|
|
sourceSets.getByName("profile").apply {
|
|
kotlin.srcDir("src/release/kotlin")
|
|
manifest.srcFile("src/benchmark/AndroidManifest.xml")
|
|
}
|
|
packaging { resources.excludes += "/META-INF/{AL2.0,LGPL2.1}" }
|
|
lint {
|
|
abortOnError = true
|
|
warningsAsErrors = true
|
|
// The user scoped this milestone to ARM Android; x86 ChromeOS is excluded.
|
|
disable += "ChromeOsAbiSupport"
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(25)
|
|
compilerOptions {
|
|
jvmTarget.set(JvmTarget.JVM_17)
|
|
allWarningsAsErrors.set(true)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":features"))
|
|
implementation(project(":core"))
|
|
implementation(project(":platform"))
|
|
implementation(libs.fragment)
|
|
implementation(platform(libs.compose.bom))
|
|
implementation(libs.compose.ui)
|
|
implementation(libs.compose.material3)
|
|
implementation(libs.compose.adaptive)
|
|
implementation(libs.lifecycle.compose)
|
|
implementation(libs.lifecycle.viewmodel)
|
|
implementation(libs.navigation.runtime)
|
|
implementation(libs.navigation.ui)
|
|
implementation(libs.activity.compose)
|
|
implementation(libs.hilt.android)
|
|
ksp(libs.hilt.compiler)
|
|
androidTestImplementation(platform(libs.compose.bom))
|
|
androidTestImplementation(libs.compose.ui.test)
|
|
androidTestImplementation(libs.compose.ui.test.accessibility)
|
|
androidTestImplementation(libs.android.test.runner)
|
|
androidTestImplementation(libs.android.test.espresso)
|
|
implementation(libs.coroutines.android)
|
|
testImplementation(libs.coroutines.test)
|
|
testImplementation(libs.junit)
|
|
}
|