allprojects { repositories { // 国内镜像优先(本网络 maven.google.com 不可达) maven("https://maven.aliyun.com/repository/google") maven("https://maven.aliyun.com/repository/central") maven("https://maven.aliyun.com/repository/public") google() mavenCentral() } } val newBuildDir: Directory = rootProject.layout.buildDirectory .dir("../../build") .get() rootProject.layout.buildDirectory.value(newBuildDir) subprojects { val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) project.layout.buildDirectory.value(newSubprojectBuildDir) } subprojects { project.evaluationDependsOn(":app") } // 各三方插件的 Java/Kotlin 编译目标不一致(有的 11、有的 17、Kotlin 默认 1.8), // 会因 "Inconsistent JVM Target Compatibility" 直接报错。 // 这里统一往 17 对齐(configureEach 在任务创建时生效), // 个别插件若在自身配置里再覆盖,则由 gradle.properties 里的 // kotlin.jvm.target.validation.mode=warning 兜底降级为警告。 subprojects { tasks.withType().configureEach { sourceCompatibility = "17" targetCompatibility = "17" } tasks.withType().configureEach { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) } } } tasks.register("clean") { delete(rootProject.layout.buildDirectory) }