2025-11-18 05:30:49 +00:00
|
|
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
|
plugins {
|
|
|
|
|
// android
|
|
|
|
|
alias(libs.plugins.androidApplication) apply false
|
|
|
|
|
alias(libs.plugins.androidLibrary) apply false
|
|
|
|
|
// kotlin
|
|
|
|
|
alias(libs.plugins.kotlinAndroid) apply false
|
|
|
|
|
// kotlin-serialization
|
|
|
|
|
alias(libs.plugins.kotlinSerialization) apply false
|
|
|
|
|
// protobuf
|
|
|
|
|
alias(libs.plugins.protobuf) apply false
|
|
|
|
|
// navigation-safe-args
|
|
|
|
|
alias(libs.plugins.navigationSafeArgs) apply false
|
|
|
|
|
// hilt-android
|
|
|
|
|
alias(libs.plugins.hilt) apply false
|
|
|
|
|
// ksp
|
|
|
|
|
//alias(libs.plugins.ksp) apply false
|
|
|
|
|
// check versions
|
|
|
|
|
alias(libs.plugins.versions)
|
|
|
|
|
// graph
|
|
|
|
|
alias(libs.plugins.moduleGraph) apply true // Plugin applied to allow module graph generation
|
|
|
|
|
|
|
|
|
|
alias(libs.plugins.kotlin.kapt)
|
|
|
|
|
}
|
2025-12-17 05:41:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def configFile
|
|
|
|
|
if (gradle.startParameter.taskNames.any { it.toLowerCase().contains("release") }) {
|
|
|
|
|
configFile = file("app/config_release.gradle")
|
|
|
|
|
} else {
|
|
|
|
|
configFile = file("app/config_debug.gradle") // 默认使用内部测试配置
|
|
|
|
|
}
|
|
|
|
|
apply from: configFile
|
|
|
|
|
|
|
|
|
|
|
2025-11-18 05:30:49 +00:00
|
|
|
// Task to print all the module paths in the project e.g. :core:data
|
|
|
|
|
// Used by module graph generator script
|
|
|
|
|
tasks.register("printModulePaths") {
|
|
|
|
|
subprojects { subproject ->
|
|
|
|
|
if (subprojects.size() == 0) {
|
|
|
|
|
println(subproject.path)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subprojects { subproject ->
|
|
|
|
|
if (subproject.getSubprojects().size() == 0) {
|
|
|
|
|
if (subproject.toString().endsWith(":app'")) {
|
|
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
|
} else {
|
|
|
|
|
apply plugin: 'com.android.library'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
android {
|
|
|
|
|
if (!subproject.toString().endsWith(":app'")) {
|
|
|
|
|
resourcePrefix = getResourcePrefix(path)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static String getResourcePrefix(String name) {
|
|
|
|
|
String[] split = name.split("\\W")
|
|
|
|
|
StringBuilder result = new StringBuilder()
|
|
|
|
|
for (int i = 1; i < split.length; i++) {
|
|
|
|
|
if (i > 1 && split[i] == split[i - 1]) {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
result.append(split[i].toLowerCase()).append("_")
|
|
|
|
|
}
|
|
|
|
|
return result.toString()
|
|
|
|
|
}
|