问:一项任务是否可以依赖另一项具有特定参数的任务?如果答案是肯定的,那么如何实现呢?
我最近为自己打开了Gradle,并对下一个感到好奇:
我们说我希望每次执行copy
任务时都要复制一个构建的子文件夹。
task copy (type: Copy) {
dependsOn build
from '[fromName]'
into '[intoName]'
}
在我的情况下,我想要复制文件夹 build / reports / profile ,但问题是该文件夹是通过执行build --profile
任务创建的。 / p>
那么,有没有机会完成以下任务:
task copy (...) {
dependsOn build --profile
from ...
into ...
}
顺便说一句,插件project-report
不会创建此文件夹,而是依赖于其任务。
注意:完成它并不重要,如果可能的话,我只是感兴趣。
答案 0 :(得分:0)
您不能直接将dependsOn
的参数传递给任务,但您可以创建自定义Exec
任务并使用gradle包装器通过命令行解释器(cmd)传递参数:
task buildWithArgument(type: Exec) {
commandLine 'cmd', '/c', 'gradlew.bat build --profile'
}
task copy (type: Copy) {
dependsOn buildWithArgument
from '[fromName]'
into '[intoName]'
}