gradle - Gradle-如何从子项目中获取任务输出

标签 gradle groovy build build.gradle gradlew

我是Gradle的新手。我有一个示例项目结构,如下所示:

rootA/
├── build.gradle
├── settings.gradle
└── subA
    └── build.gradle

subA项目中,有一个任务,让我们调用goInsideSubA(),此任务可以返回一个字符串(类似)“这在subA项目内部”

编辑:这是我的示例上下文:
//subA/build.gradle:

task goInsideSubA() {
    def string = "this is inside subA project"
}

// rootA/build.gradle

task showInsideSubA() {
    doLast {
        // how can I get the string from :subA:goInsideSubA task here
    }
}
// settings.gradle

include ':subA'

我的问题是我如何才能使showInsideSubA()项目中的任务rootA字符串“这在subA项目内部”重用?

谢谢

最佳答案

我通过使用“任务属性”找到了一个解决方案:

//subA/build.gradle:

task goInsideSubA() {
    ext {
        myString = "this is inside subA project"
    }
}

// rootA/build.gradle

task showInsideSubA() {
    doLast {
        println tasks.getByPath(':subA:goInsideSubA').myString
    }
}
// settings.gradle

include ':subA'

结果:

$ gradle -q showInsideSubA
> this is inside subA project

关于gradle - Gradle-如何从子项目中获取任务输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58886436/

相关文章:

java - 将 grails 3 应用程序部署到 openshift

Android 构建工具 Gradle 2.3.2

java - openCSV 解析各个列

java - 充满反射调用的常规应用程序的 CPU 分析器结果

javascript - 循环这个嵌套的 obj 构建器函数?

build - 如何以编程方式构建 Visual Studio 解决方案?

windows - 需要帮助/说明在 Windows 下使用 libdav1d 构建 ffmpeg

android - 如何为单一风格签署发布和调试版本

java - 在Spring Boot应用程序上继续收到白标错误吗?

java - 如何使用 gradle 启动交互式 Java 应用程序