gpt4 book ai didi

gradle - 在Gradle中有条件地排序任务

转载 作者:行者123 更新时间:2023-12-03 06:06:07 24 4
gpt4 key购买 nike

考虑一个Gradle插件,该插件向项目添加了三个任务-一个buildZip任务(用于创建该项目的可分发zip),一个publishZip任务(用于将该邮政编码发布到共享存储库),以及一个cleanZip任务(用于清理该zip的任何本地版本)。对于本地开发,将经常使用cleanZip buildZip,但是自动构建系统将运行buildZip publishZip cleanZip

使用此插件的项目之一希望使用Gradle的parallel标志运行其构建,以允许并行构建项目的不同部分。不幸的是,这会带来zip任务的问题-buildZip取决于实际构建的项目,但是cleanZip没有任何依赖关系,因此它可以立即运行,从而导致自动构建系统无法清理。

声明这些任务之间的任何依赖关系不是一个好主意,因为它们应该能够独立运行。另外,我不能指定mustRunAfter(至少在buildZipcleanZip之间),因为有时清洁应该首先出现,而构建应该首先出现。

我该如何告诉Gradle执行这些任务的顺序,以--parallel遵守的方式执行,而不是硬编码为始终始终运行特定的任务?

最佳答案

您可以做的是:检测gradle是否使用--parallel运行,并基于此配置任务之间的依赖关系。可以通过以下方式完成:

println project.gradle.startParameter.parallelProjectExecutionEnabled

关于gradle - 在Gradle中有条件地排序任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38777972/

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