构建.gradle
task foo(type: GradleBuild) {
dir = '/foo'
tasks = ['foo']
}
println foo.version
/foo/build.gradle
project.ext {
version = "1.0"
}
如何在评估期间将“/foo/build.gradle”中定义的属性(例如版本)传回?
最佳答案
这是不可能的。 GradleBuild
的功能任务有限,您甚至无法通过公共(public) API 读取 Gradle 调用的输出。
但是,如果您的构建已连接,则应包含 foo
项目作为父项目的子项目。只需将项目包含在您的 settings.gradle
中即可文件(如果不存在,您可以创建一个):
include ':foo'
现在,如果您调用 gradle,输入的任务将在您的根项目以及您的
foo
中执行。项目(如果存在)。你可以让你的根项目的任务依赖于你的foo
的任务。项目使用:myRootTask.dependsOn ':foo:myFooTask'
关于gradleBuild 在评估期间将属性传回给调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383729/