我知道我可以执行“gradle build -x test”,但是有没有办法创建自定义 Gradle 任务,比如 buildNoTests,它将构建我所有的项目,但会完全忽略测试(不要编译/运行它们)?
我读到“组装”任务是不够的,因为它可能会错过其他不是测试但包含在“构建”任务中的任务。
最佳答案
把它放在根 build.gradle
allprojects {
afterEvaluate {
def buildTask = tasks.findByPath('build')
if (buildTask) {
task buildNoTests {
dependsOn buildTask
}
gradle.taskGraph.whenReady { TaskExecutionGraph graph ->
if (graph.hasTask(buildNoTests)) {
def skipNames = ['test', 'compileTestJava', 'processTestResources', 'testClasses'] as Set
Collection<Task> testTasks = graph.allTasks.findAll { skipNames.contains(it.name) }
testTasks.each { it.enabled = false }
}
}
}
}
}
关于testing - 自定义 Gradle 任务无需测试即可构建所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132616/