我有一个gradle构建过程,动态生成一个包含~200个同类CPU密集型处理任务的列表(所有相同的任务类型)。 此列表中的任务不依赖于彼此,但它们在我的构建中具有commen祖先和常见后代。
看起来Gradle没有内置的方法可以让我并行处理这些内容。 (我看到的唯一并行抽象与解耦项目有关。)
我有什么技巧可以申请,还是我被困?
例如,我是否可以动态创建n
个项目(以某种方式与主项目“解耦”以满足Gradle的并行处理要求),每个项目都需要1/n
个任务?
答案 0 :(得分:1)
属于同一项目的任务当前无法并行执行。您可以编写脚本settings.gradle
来创建许多子项目和脚本build.gradle
以将任务分配给项目,但这可能不是一个非常方便的解决方案。另一个选择是让一个内部并行化工作的任务(例如使用GPars库)。