Gradle 格拉德尔任务组织
我在以可管理的方式组织构建时遇到问题。在我的gradle构建中,有大量的任务,因为对于每个特定的工作元素,gradle都需要一个该类型的任务。例如:复制文件需要复制任务类型,压缩文件需要压缩任务类型,删除少量文件需要删除任务类型。Javadoc、Jar、Ear等也需要它们的任务类型。最终构建有大量的任务,要按特定的顺序运行所有这些任务,我必须使用Gradle 格拉德尔任务组织,gradle,Gradle,我在以可管理的方式组织构建时遇到问题。在我的gradle构建中,有大量的任务,因为对于每个特定的工作元素,gradle都需要一个该类型的任务。例如:复制文件需要复制任务类型,压缩文件需要压缩任务类型,删除少量文件需要删除任务类型。Javadoc、Jar、Ear等也需要它们的任务类型。最终构建有大量的任务,要按特定的顺序运行所有这些任务,我必须使用 taskA.mustRunAfter taskB 将这些规则应用于所有任务,会使生成更难管理。是否有一种方法可以在一个任务(如ant中提供的)中编程
taskA.mustRunAfter taskB
将这些规则应用于所有任务,会使生成更难管理。是否有一种方法可以在一个任务(如ant中提供的)中编程所有这些工作元素(即复制文件、zip文件、创建jar和javadoc等)是否有理由不使用
dependsOn
?您需要指定更多的mustRunAfter
语句,以实现与dependsOn
相同的顺序。至少,这是我的经验。仅当存在明确不属于依赖项的订购问题时,才使用mustRunAfter
例如,我们使用gradle安装和卸载测试环境。如果两者都运行在卸载后install.mustRunAfter
(进行刷新),但显然安装并不总是依赖于卸载,因此我们使用mustRunAfter
也就是说,在一个任务中运行多个元素的一种方法是使用一系列ant目标
task lotsOfStuffAtOnce {
ext.paulaProp = 'brillant'
} << {
ant.copy ...
ant.zip ...
ant.jar ...
}
任务批次{
ext.paulaProp=‘brillant’
}非常感谢您的解决方案。调用ant任务会起作用,但dependsOn
不会给出确切的顺序。dependsOn的顺序将完全尊重您告诉它的内容,但肯定有一些场景需要自由使用mustRunAfter。我相信,一点点尝试和错误就会解决的!