我正在编写一个自定义 Gradle 任务,它接受来自命令行的选项。该部分按预期工作。导致我出现问题的是,调用依赖任务时,命令行选项被拒绝,因为它与依赖任务无关。这是演示该问题的示例:
class CustomTask extends DefaultTask {
@Option(option = "stuff", description = "Custom task stuff")
String stuff
@TaskAction
void action() {
if (this.stuff?.trim()) {
println this.stuff
}
else {
throw new InvalidUserDataException("No stuff!")
}
}
}
task custom(type: CustomTask)
task depends(dependsOn: 'custom')
以下是路径:
-
gradle custom
正确抛出异常
-
gradle custom --stuff=mystuff
emits mystuff
当任务运行时。
-
gradle depends
正确抛出相同的异常
-
gradle depends --stuff=mystuff
失败了Unknown command-line option '--stuff'
如何设置命令行选项--stuff
穿过到custom
调用时的任务depends
task?
不幸的是,这是记录在案的选项限制之一https://docs.gradle.org/current/userguide/custom_tasks.html#limitations
您可以改为使用构建属性,并将它们传递给-Pstuff=something
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)