Gradle:在多个部件上拆分build.Gradle时,保持对额外属性的访问

Gradle:在多个部件上拆分build.Gradle时,保持对额外属性的访问,gradle,build.gradle,Gradle,Build.gradle,我有一个简单的gradle.build文件 ext { port = 10001 } task expand(type: Copy) { // Substitute property tokens in files expand(module_name: project.name , port: port ) } 它就像一个魅力,没有任何问题 然后我想重构我的构建脚本并在build.gradle上拆分build.gradle:

我有一个简单的
gradle.build
文件

ext {
    port = 10001
}

task expand(type: Copy) {
    // Substitute property tokens in files
    expand(module_name: project.name
            ,     port: port
    )
}
它就像一个魅力,没有任何问题

然后我想重构我的构建脚本并在
build.gradle
上拆分
build.gradle

apply from: 'rpm.gradle'

ext {
    port = 10001
}
task expand(type: Copy) {
    expand(module_name: project.name
            ,     port: port
    )
}
rpm.gradle

apply from: 'rpm.gradle'

ext {
    port = 10001
}
task expand(type: Copy) {
    expand(module_name: project.name
            ,     port: port
    )
}
任务
gradle expand
失败

错误:无法获取任务的未知属性“端口”:类型为“展开” org.gradle.api.tasks.Copy

如何通过仅修改带有下一个约束的
build.gradle
来解决此问题:

  • 不允许使用
    gradle.properties
    (当然这是一种奇怪的情况。这是由于其他插件在CI服务器的自动模式下使用了
    gradle.properties
  • rpm.gradle
    不能包含
    port
    属性的实际值,因为
    rpm.gradle
    将是只读的,并在团队的多个成员之间从单个位置共享

在定义端口之前尝试使用它。 交换它,它应该像这样工作

ext {
    port = 10001
}

apply from: 'rpm.gradle'