如何在两个build.gradle.kts文件之间共享构建配置?

use*_*610 3 gradle kotlin gradle-kotlin-dsl

我有两个项目(在单个git存储库中),它们应该具有相同的

repository {

}
Run Code Online (Sandbox Code Playgroud)

部分中的内容build.gradle.kts,但在其他方面则完全无关。

我可以把这个共同的部分排除在外 build.gradle.kts吗?怎么样?

mko*_*bit 5

更新0.11.0发行版中,applyFrom(uri)已被删除。

您现在应该改为使用:

apply {
    from("dir/myfile.gradle")
}
Run Code Online (Sandbox Code Playgroud)

旧答案

使用Groovy构建脚本,您可以执行包含共享块的文件apply from: 'dir/myfile.gradle'在哪里。dir/myfile.gradlerepositories

使用Gradle Script Kotlin(至少使用0.4.1)的类似方式,可以使用该applyFrom(script: Any)方法。

build.gradle.kts

applyFrom("dir/myfile.gradle")
Run Code Online (Sandbox Code Playgroud)

如果需要从子项目中应用它,则可以执行以下操作:

applyFrom("${rootProject.rootDir}/dir/myfile.gradle")
Run Code Online (Sandbox Code Playgroud)