Drop `com.google.accompanist` that we needn't it Remove unused metadata, abi Optimize app icon (No visual changes) Update Gradle to 8.10.2 Enable per app language support Optimize `SwitchItem` https://github.com/user-attachments/assets/777729e6-5108-4060-91a7-28b5b9d98441 Refactor the click logic of `ModuleItem` https://github.com/user-attachments/assets/e61da54a-6c1c-45d7-bf27-52b452134b7e Use compose's Text in AboutCard to support dynamicColor  Add scroll behavior for TopAppBar   Fix padding for BottomNavigationBar
98 lines
2.8 KiB
Plaintext
98 lines
2.8 KiB
Plaintext
import com.android.build.api.dsl.ApplicationDefaultConfig
|
|
import com.android.build.api.dsl.CommonExtension
|
|
import com.android.build.gradle.api.AndroidBasePlugin
|
|
import java.io.ByteArrayOutputStream
|
|
|
|
plugins {
|
|
alias(libs.plugins.agp.app) apply false
|
|
alias(libs.plugins.agp.lib) apply false
|
|
alias(libs.plugins.kotlin) apply false
|
|
alias(libs.plugins.compose.compiler) apply false
|
|
alias(libs.plugins.lsplugin.cmaker)
|
|
}
|
|
|
|
cmaker {
|
|
default {
|
|
arguments.addAll(
|
|
arrayOf(
|
|
"-DANDROID_STL=none",
|
|
)
|
|
)
|
|
abiFilters("arm64-v8a", "x86_64", "riscv64")
|
|
}
|
|
buildTypes {
|
|
if (it.name == "release") {
|
|
arguments += "-DDEBUG_SYMBOLS_PATH=${layout.buildDirectory.asFile.get().absolutePath}/symbols"
|
|
}
|
|
}
|
|
}
|
|
|
|
val androidMinSdkVersion = 26
|
|
val androidTargetSdkVersion = 35
|
|
val androidCompileSdkVersion = 35
|
|
val androidBuildToolsVersion = "35.0.0"
|
|
val androidCompileNdkVersion = "27.0.12077973"
|
|
val androidSourceCompatibility = JavaVersion.VERSION_21
|
|
val androidTargetCompatibility = JavaVersion.VERSION_21
|
|
val managerVersionCode by extra(getVersionCode())
|
|
val managerVersionName by extra(getVersionName())
|
|
|
|
fun getGitCommitCount(): Int {
|
|
val out = ByteArrayOutputStream()
|
|
exec {
|
|
commandLine("git", "rev-list", "--count", "HEAD")
|
|
standardOutput = out
|
|
}
|
|
return out.toString().trim().toInt()
|
|
}
|
|
|
|
fun getGitDescribe(): String {
|
|
val out = ByteArrayOutputStream()
|
|
exec {
|
|
commandLine("git", "describe", "--tags", "--always")
|
|
standardOutput = out
|
|
}
|
|
return out.toString().trim()
|
|
}
|
|
|
|
fun getVersionCode(): Int {
|
|
val commitCount = getGitCommitCount()
|
|
val major = 1
|
|
return major * 10000 + commitCount + 200
|
|
}
|
|
|
|
fun getVersionName(): String {
|
|
return getGitDescribe()
|
|
}
|
|
|
|
subprojects {
|
|
plugins.withType(AndroidBasePlugin::class.java) {
|
|
extensions.configure(CommonExtension::class.java) {
|
|
compileSdk = androidCompileSdkVersion
|
|
ndkVersion = androidCompileNdkVersion
|
|
buildToolsVersion = androidBuildToolsVersion
|
|
|
|
defaultConfig {
|
|
minSdk = androidMinSdkVersion
|
|
if (this is ApplicationDefaultConfig) {
|
|
targetSdk = androidTargetSdkVersion
|
|
versionCode = managerVersionCode
|
|
versionName = managerVersionName
|
|
}
|
|
ndk {
|
|
abiFilters += listOf("arm64-v8a", "x86_64", "riscv64")
|
|
}
|
|
}
|
|
|
|
lint {
|
|
abortOnError = true
|
|
checkReleaseBuilds = false
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = androidSourceCompatibility
|
|
targetCompatibility = androidTargetCompatibility
|
|
}
|
|
}
|
|
}
|
|
} |