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.compose.compiler) apply false alias(libs.plugins.lsplugin.cmaker) } cmaker { default { arguments.addAll( arrayOf( "-DANDROID_STL=none", ) ) abiFilters("arm64-v8a", "x86_64", "armeabi-v7a") } buildTypes { if (it.name == "release") { arguments += "-DDEBUG_SYMBOLS_PATH=${layout.buildDirectory.asFile.get().absolutePath}/symbols" } } } val androidMinSdkVersion = 26 val androidTargetSdkVersion = 36 val androidCompileSdkVersion = 36 val androidCompileNdkVersion = "28.0.13004108" val androidSourceCompatibility = JavaVersion.VERSION_21 val androidTargetCompatibility = JavaVersion.VERSION_21 val managerVersionCode by extra(1 * 10000 + getGitCommitCount() + 700) val managerVersionName by extra(getGitDescribe()) fun getGitCommitCount(): Int { return providers.exec { commandLine("git", "rev-list", "--count", "HEAD") }.standardOutput.asText.get().trim().toInt() } fun getGitDescribe(): String { return providers.exec { commandLine("git", "describe", "--tags", "--always", "--abbrev=0") }.standardOutput.asText.get().trim() } subprojects { plugins.withType(AndroidBasePlugin::class.java) { extensions.configure(CommonExtension::class.java) { compileSdk = androidCompileSdkVersion ndkVersion = androidCompileNdkVersion defaultConfig { minSdk = androidMinSdkVersion if (this is ApplicationDefaultConfig) { targetSdk = androidTargetSdkVersion versionCode = managerVersionCode versionName = managerVersionName } ndk { abiFilters += listOf("arm64-v8a", "x86_64", "armeabi-v7a") } } lint { abortOnError = true checkReleaseBuilds = false } compileOptions { sourceCompatibility = androidSourceCompatibility targetCompatibility = androidTargetCompatibility } } } }