78 lines
2.2 KiB
Text
78 lines
2.2 KiB
Text
|
|
import com.android.build.api.dsl.ApplicationDefaultConfig
|
||
|
|
import com.android.build.api.dsl.CommonExtension
|
||
|
|
import com.android.build.gradle.api.AndroidBasePlugin
|
||
|
|
|
||
|
|
plugins {
|
||
|
|
alias(libs.plugins.agp.app) apply false
|
||
|
|
alias(libs.plugins.agp.lib) apply false
|
||
|
|
alias(libs.plugins.kotlin) apply false
|
||
|
|
alias(libs.plugins.kotlin.compose.compiler) apply false
|
||
|
|
}
|
||
|
|
|
||
|
|
project.ext.set("kernelPatchVersion", "0.12.2")
|
||
|
|
|
||
|
|
val androidMinSdkVersion = 26
|
||
|
|
val androidTargetSdkVersion = 36
|
||
|
|
val androidCompileSdkVersion = 36
|
||
|
|
val androidBuildToolsVersion = "36.0.0"
|
||
|
|
val androidCompileNdkVersion = "29.0.14206865"
|
||
|
|
val managerVersionCode by extra(getVersionCode())
|
||
|
|
val managerVersionName by extra(getVersionName())
|
||
|
|
val branchname by extra(getbranch())
|
||
|
|
fun Project.exec(command: String) = providers.exec {
|
||
|
|
commandLine(command.split(" "))
|
||
|
|
}.standardOutput.asText.get().trim()
|
||
|
|
|
||
|
|
fun getGitCommitCount(): Int {
|
||
|
|
return exec("git rev-list --count HEAD").trim().toInt()
|
||
|
|
}
|
||
|
|
|
||
|
|
fun getGitDescribe(): String {
|
||
|
|
return exec("git rev-parse --verify --short HEAD").trim()
|
||
|
|
}
|
||
|
|
|
||
|
|
fun getVersionCode(): Int {
|
||
|
|
val commitCount = getGitCommitCount()
|
||
|
|
val major = 1
|
||
|
|
return major * 10000 + commitCount + 200
|
||
|
|
}
|
||
|
|
|
||
|
|
fun getbranch(): String {
|
||
|
|
return exec("git rev-parse --abbrev-ref HEAD").trim()
|
||
|
|
}
|
||
|
|
|
||
|
|
fun getVersionName(): String {
|
||
|
|
return getGitDescribe()
|
||
|
|
}
|
||
|
|
|
||
|
|
tasks.register("printVersion") {
|
||
|
|
doLast {
|
||
|
|
println("Version code: $managerVersionCode")
|
||
|
|
println("Version name: $managerVersionName")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
subprojects {
|
||
|
|
plugins.withType(AndroidBasePlugin::class.java) {
|
||
|
|
extensions.configure(CommonExtension::class.java) {
|
||
|
|
compileSdk = androidCompileSdkVersion
|
||
|
|
buildToolsVersion = androidBuildToolsVersion
|
||
|
|
ndkVersion = androidCompileNdkVersion
|
||
|
|
|
||
|
|
defaultConfig {
|
||
|
|
minSdk = androidMinSdkVersion
|
||
|
|
if (this is ApplicationDefaultConfig) {
|
||
|
|
targetSdk = androidTargetSdkVersion
|
||
|
|
versionCode = managerVersionCode
|
||
|
|
versionName = managerVersionName
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
lint {
|
||
|
|
abortOnError = true
|
||
|
|
checkReleaseBuilds = false
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|