gpt4 book ai didi

gradle - Gradle任务组织

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

我在以可管理的方式组织构建时遇到问题。在我的gradle构建中,有很多任务,因为对于每个特定的工作元素,gradle都需要该类型的任务。例如:要复制文件gradle需要复制任务类型,而要压缩文件gradle需要Zip任务类型,要删除一些文件gradle需要Delete任务类型。 Javadoc,Jar,Ear等也需要其任务类型。最终build包含大量任务,要按特定顺序运行所有这些任务,我必须使用

taskA.mustRunAfter taskB

将这些规则应用于所有任务会使构建更加难以管理。有没有一种方法可以在一个任务中(如ant中提供的)对所有这些工作元素(即,复制文件,zip文件,创建jar和javadoc等)进行编程

最佳答案

您不使用dependsOn是有原因的吗?您需要指定更多的mustRunAfter语句来实现dependsOn可以得到的相同顺序。至少,这是我的经验。仅当遇到明显不是依赖关系的订购问题时,才使用mustRunAfter

例如,我们使用gradle来安装和卸载测试环境。如果两者都比install.mustRunAfter uninstall(刷新)运行,但显然安装并不总是依赖于卸载,因此我们使用mustRunAfter

也就是说,可以在一个任务中运行许多元素的一种方法是使用一系列ant目标。

task lotsOfStuffAtOnce {
ext.paulaProp = 'brillant'
} << {
ant.copy ...
ant.zip ...
ant.jar ...
}

我仍然认为总体上首选的哲学是使用适当混合 dependsOnmustRunAfter的任务,但是不同的情况需要不同的结果,那么我应该判断谁?如果您希望将多个步骤全部作为一个工作单元(一个任务)完成,那么上面的代码是我想到的最干净的方法。

如果您没有从gradle调用ant的经验, the user docs会告诉您这是一个非常机械的转换。

关于gradle - Gradle任务组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17160977/

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