gradle - 如何从 GradleBuild 任务中设置另一个 gradle 构建脚本任务的输出文件?

标签 gradle build output

我有带有 gradle build 的项目 A。我还有另一个带有 gradle build 的项目 B。我想将项目 B 的 jar 包含到项目 A 的 war 中。我可以从项目 A 的构建脚本中调用项目 B 的构建脚本(见下文)。
但我无法将项目 B 的 jar 设置为任务 buildB 的输出文件.

有没有办法将项目B的jar(任务jar的输出文件)设置为任务buildB的输出文件?

task buildB(type: GradleBuild) {
    buildFile = "../BProject/build.gradle"
    tasks = ["clean", "jar"]       // jar task produce xxx.jar as it's outputs.files

    // HERE, any script to set xxx.jar as outputs.files of task buildB???
}

war {
    from (buildB) {                // can not get xxx.jar from buildB
        into "WEB-INF/classes"
    }
}

最佳答案

您可能需要配置 multi module项目并定义一个 project -范围依赖。

由于答案完整答案会很长,here你可以找到一个演示它是如何完成的。

该演示包含两个项目。一个项目是为 war 而构建的,并且依赖于另一个为 war 而构建的项目。如果您构建 一个 项目, b 将自动构建并作为 jar 包含在内。

关于gradle - 如何从 GradleBuild 任务中设置另一个 gradle 构建脚本任务的输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43271608/

相关文章:

vb.net - 在 Visual Basic 2010 中调试时如何输出代码?

c - 打印的是垃圾值吗?

bash - 自动构建单一开发人员

build - 将构建环境升级到 Ubuntu 14.4 后 “Version ` GLIBC_2.16 ' not found” 目标主机错误

java - 蚁战任务如何进行?

android-studio - 什么是 “build.gradle.in”文件?

c++ - 程序输出 "Heads"而不管随机生成的答案

spring - 为自定义输出文件夹和exe名称自定义gradle脚本

android - 从导入的库访问项目中的 jar - gradle/android studio

android - 很长时间后,运行gradle任务失败