gpt4 book ai didi

gradle - 如何在我的自定义任务结束时执行 'clean'任务?

转载 作者:行者123 更新时间:2023-12-03 03:40:05 28 4
gpt4 key购买 nike

我已经创建了自己的简单任务,因此我想在测试前进行清洁

task cleanTest (group: 'test setup', description: 'clean then test.'){
dependsOn 'clean'
dependsOn 'test'
tasks.findByName('test').mustRunAfter 'clean'
}

我的任务完成后,我想运行干净的任务

我试过了
configure(subprojects) {
task clean << {
println "Do clean " + project.name
}

task test(dependsOn: clean)<<{
println 'test ' + project.name
}

task cleanTest(dependsOn: cleanTest)<<{
parent.cleanTest.execute()
}
}

我只想在自定义任务的末尾运行“clean任务”

最佳答案

这是不可能的。您不能在一次Gradle运行中多次运行任务。因此,如果要在任务之前和之后执行相同的操作,请定义在任务之前和之后运行的方法。不能完全使用使用Task.execute(),而不是。永远不要做,甚至不要尝试。这是一种纯粹的内部方法,永远都不能被任何构建直接调用。容易产生奇怪和不可预测的结果。

您想要的大概是

subprojects {
def cleanIt = {
println "Do clean " + project.name
}

clean.doLast {
cleanIt()
}

task test(dependsOn: clean) {
doLast {
println 'test ' + project.name
}
}

task cleanTest(dependsOn: cleanTest) {
doLast {
cleanIt()
}
}
}

关于gradle - 如何在我的自定义任务结束时执行 'clean'任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44760296/

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