我在 Gradle (2.3) 中有一个自定义任务
task myCustomTask (dependsOn: [ jacocoTestReport ]) << {
//Adding this didn't work, gives an error that options is not a property.
//options.compilerArgs = ["-x compileJava -x classes -x test -x testClasses"]
//Seems like the following line actually works!!! but still errors for "options" property. Strange!!
//myCustomTask.options = [ "-x compileJava -x classes -x test -x testClasses" ]
//..
//...some...operation
//..
}
如何在 Gradle 中更改上述自定义任务代码,以便它可以在命令行中执行我正在执行的操作。我希望当有人调用 myCustomTask 并且它依赖于 Gradle 的任何核心任务(如 compileJava、类等)时,它不应该调用这些任务(即在命令行中模仿 -x someTask行为)。
以下作品!!
$ gradle jacocoTestReport -x compileJava -x classes -x test -x testClasses
然后,我想要的是:运行gradle myCustomTask应该做同样的事情(上面的命令行命令正在做什么)。
错误:
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jacocoTestReport
:myCustomTask FAILED
FAILURE: Build failed with an exception.
* Where:
Initialization script '/home/giga/gradle-2.3/init.d/extra1.common-thids.gradle' line: 450
* What went wrong:
Execution failed for task ':myCustomTask'.
> No such property: options for class: org.gradle.api.DefaultTask_Decorated
Possible solutions: actions
cat -n在 extra1..gradle 文件(init.d 级别文件)上:
449 task myCustomTask (dependsOn: [ jacocoTestReport ]) << {
450 myCustomTask.options = [ " -x compileJava -x classes -x test -x testClasses " ]
451 }