我正在尝试创建一个Zip任务,该任务将为我的项目创建一个包含项目jar文件和war(以及可能由 assemble
任务生成的其他构建工件)的分发包 .
所以我尝试编写这个简单的脚本
task dist(dependsOn: 'assemble', type: Zip){
into('lib'){
from 'build/libs' //contains jar and war files
}
... //other stuff
}
任务 dist
取决于 assemble
,因为它方便地包含创建jar和war文件的任务 .
但是如果我尝试执行它,gradle会抱怨此错误消息:
Circular dependency between tasks. Cycle includes [task ':assemble', task ':dist'].
我已经检查了specification for assemble task,并清楚地写了 assemble
任务自动 dependsOn
项目中的所有存档任务,显然包括我的 dist
任务 . 似乎没有办法绕过它 .
在gradle中这样做的正确方法是什么?如何制作依赖于 assemble
任务的zip任务?我可以明确依赖 jar
和 war
任务使 dist
任务,但我认为这有点违反了封装 .
我正在使用gradle-1.0-milestone-3 .
提前致谢!
2 回答
这是一个完整的例子,让你的Zip依赖于jar和战争任务:
您可以执行以下操作将所有已构建的构建存档存入您的dist zip: