gradleBuild在评估期间将属性传递回调用方

时间:2017-07-28 23:29:55

标签: gradle build task

的build.gradle

task foo(type: GradleBuild) {
    dir = '/foo'
    tasks = ['foo']
}

println foo.version

/foo/build.gradle

project.ext {
    version = "1.0"
}

如何在评估期间传回“/foo/build.gradle”中定义的属性(例如版本)?

1 个答案:

答案 0 :(得分:1)

这是不可能的。 GradleBuild任务的功能有限,您甚至无法通过公共API读取Gradle调用的输出。

但是,如果您的构建已连接,则应将foo项目作为父项目的子项目包含在内。只需将项目包含在settings.gradle文件中(如果项目不存在,您可以创建一个):

include ':foo'

现在,如果您调用gradle,则输入的任务将在您的根项目以及foo项目(如果存在)中执行。您可以使用以下命令让根项目的任务依赖于foo项目的任务:

myRootTask.dependsOn ':foo:myFooTask'