出于包装方面的原因,作为构建的一部分,我需要运行两次installDist
任务,以生成两个发行版。在每个容器中,主jar将包含不同的资源文件夹。
示例
假设我要生成:
f1
和f2
f1
我尝试了以下操作但未成功:
tasks = ['installDist', ...., 'osXjar', 'installDist', ... ]
jar {
archiveName = xxx
exclude "f1"
exclude "f2"
}
task osXjar(type: Jar) {
archiveName = xxx
exclude "f1"
}
它产生相同结果的两倍,我认为installDist
仅依赖jar,而忽略osXjar
如果仅尝试运行自定义jar任务osXjar
,则生成的jar将被破坏并且尺寸小得可笑,而jar任务会产生正确的结果。
预先感谢您的帮助!
答案 0 :(得分:0)
因此,如果有人遇到相同问题,我会在此处发布答案。
诀窍是在自定义jar任务中包含from sourceSets.main.output
。
因此,以下方法将起作用:
tasks = ['installDist', ...., 'osXjar', 'installDist', ... ]
jar {
archiveName = xxx
exclude "f1"
exclude "f2"
}
task osXjar(type: Jar) {
archiveName = xxx
from sourceSets.main.output
exclude "f1"
}