gradleBuild 在评估期间将属性传回给调用者

标签 gradle build task

构建.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/

相关文章:

gradle - 如何从 initscript 应用 Gradle 版本插件?

android - 库冲突错误

c++ - 不使用 Makefile 构建 C/C++ 项目

java - tomcat6定时任务每10秒一次

c# - 异步方法中的 Task.WhenAll,然后展开每个任务

java - 使用 protobuf-gradle-plugin 生成 protobuf 文件描述符

java - 预期会引发java.lang.IllegalArgumentException,但未引发任何异常

C++ boost 错误

android - 错误 :(232) Ignore: Unknown issue id "InlineApi"

c# - 如何处理进行中的任务