gpt4 book ai didi

gradle - 如何在Gradle中以并行模式运行两种方法?

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

我有一个Gradle任务,它调用了两个方法。这些方法彼此独立,因此我想并行启动它们。实现此目标的最佳方法是什么?

例:

task cucumber(dependsOn: 'testClasses') { 
doLast {
// ...
// I want to call the next 2 methods in parallel
runSequentialTests(testEnvironment, tags)
runParallelTests(testEnvironment, tags)
}
}

def runSequentialTests(testEnvironment, tags) {
// execute cucumber tests via javaexec
}

def runParallelTests(testEnvironment, tags) {
// execute cucumber tests via exec sh script for each feature file (parallelism is done via GParsPool.withPool(5) {...}
}

最佳答案

值得研究groovy并行系统库gpars

GParsPool.withPool {
GParsPool.executeAsyncAndWait({runSequentialTests(testEnvironment, tags)}, {runParallelTests(testEnvironment, tags)})
}

或者也许创建一个 @ParallelizableTask

但是我不确定您使用的是哪个版本的gradle。而并行是/曾经是一个孵化功能。

并且如果它们之间没有依赖关系,则需要使用--parallel运行构建,Gradle应该独立运行它们。

或者,您可以在 gradle.properties中指定一个属性
C:\Users\<user>\.gradle\gradle.properties
org.gradle.parallel=true

关于gradle - 如何在Gradle中以并行模式运行两种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47259559/

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