是否可以并行运行同一子项目中的两个独立的 gradle 任务?

Ale*_*rko 7 gradle

在我工作的项目(基于 gradle)中,有一个非常大的模块(gradle 子项目)。在 CI 构建过程中,该子项目中的两个任务按顺序执行,这会导致大量的执行时间。

该项目使用org.gradle.parallel=true,但是当我创建简单项目来检查如何使用此属性执行来自同一子项目的独立任务时,我发现任务是按顺序执行的。

我的问题:

是否可以并行执行同一个 gradle 子项目中的两个独立任务以缩短它们的执行时间?(假设它们不在同一位置产生输出并且不使用任何共享状态)

M.R*_*uti 3

从文档(参见并行执行):

大多数构建都包含多个项目,其中一些项目通常是相互独立的。然而,Gradle 默认情况下一次只会运行一项任务,无论项目结构如何(这很快就会得到改进)。通过使用 --parallel 开关,您可以强制 Gradle 并行执行任务,只要这些任务位于不同的项目中

我认为这里最重要的部分是“只要这些任务位于不同的项目中”:如果您的两个长时间运行的任务属于同一个子项目,您将无法使它们并行执行(不是在当前的 Gradle 版本中) )