【发布时间】:2018-11-17 07:20:03
【问题描述】:
我有几个问题要如何编写可维护的 Groovy Gradle 任务:
如何将任务标记为“抽象”,使任务无法从命令行运行,需要派生实现?
如何派生任务?
如何“封装”变量? (最好在(父)任务之外无法访问)。
例如在这个伪 gradle 脚本中,我希望只有 runnableTask 是可执行的,这导致运行 someTask 与 param = "TEST" 和 param2 = "SOMETHINGELSE"
这有什么可做的?
***abstract*** task someTask(type: com.bla.ATask) {
param=someVar1
param2=someVar2
}
***abstract*** task derivedTESTTask(***extends*** someTask) {
someVar1="TEST"
}
task runnableTask(***extends**** derivedTESTTask) {
someVar2="SOMETHINGELSE"
}
【问题讨论】:
-
您混淆了任务类型(类)和任务(实例)。您不能从另一个实例派生一个实例,您只能从另一个类派生一个类,然后创建该派生类的一个实例。
标签: gradle groovy build.gradle