gpt4 book ai didi

gradle - 使用Gradle将子项目中的构建工件收集到RPM中

转载 作者:行者123 更新时间:2023-12-03 04:02:29 25 4
gpt4 key购买 nike

我有以下项目结构:

Root
+---Sub1
|
+---Sub2
Sub1项目生成JAR, Sub2创建WAR。 Root项目的目标是生成同时包含 Sub1Sub2输出的RPM。

我正在尝试使用 ospackage Gradle插件来构建RPM。这是根 build.gradle的一部分:
ospackage {
from subprojects.collect { it.tasks.withType(Zip) } into 'lib'
}

它可以工作,但是对于 Sub2,JAR和WAR都会被创建,这是不希望的。

为了将适当的jar和war收集到RPM中,应采用什么配置?

更新

我正在寻找一些通用的解决方案,即子项目上的迭代比为每个子项目指定行为更可取。

最佳答案

解决方案是在Sub2项目的build.gradle中添加WAR插件:

apply plugin: 'war'

使 buildRpm任务依赖于根构建文件中的所有子项目构建任务:
buildRpm.dependsOn getTasksByName('build', true)

最后配置 ospackage插件以将 Artifact 收集到目标RPM中:
ospackage {
from(subprojects.collect { "${it.buildDir}/libs" }) {
into 'bin'
}
}

关于gradle - 使用Gradle将子项目中的构建工件收集到RPM中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com