build.gradle是:
task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") {
from "src"
into "dest"
println "copy"
}
task hello {
println "hello"
}
当我尝试
./gradlew copy
时,copy
和hello
都被执行。输出如下:> Configure project :
copy
hello
如何只执行
copy
?
最佳答案
在您的示例中,仅执行copy
任务。但是,两者都已配置。
Gradle构建在构建生命周期中具有三个不同的阶段:
默认情况下,Gradle会在启动时配置所有任务,尽管可以推迟许多类型的配置(延迟配置)。
您在
println
任务中拥有的hello
语句是配置的一部分,因此无论您打算执行什么任务,都可以看到它。您还可以在> Configure project :
header 下的输出中看到。如果只想在实际执行时打印“hello”,则将其移动到
doLast
块中,如下所示:task hello {
doLast {
println "hello"
}
}
关于gradle - 如何仅在build.gradle中执行特定任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61475607/