Gradle myCustomTask -如何通过传递命令行参数来避免调用依赖任务



我在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 on extra1..Gradle文件(init.)D级文件):

   449     task myCustomTask (dependsOn: [ jacocoTestReport ]) << {
   450          myCustomTask.options = [ " -x compileJava -x classes -x test -x testClasses " ]
   451     }

我想这就是你想要的:

  • 运行测试,生成JaCoCo报告,并(可选地)对报告执行某些操作。
  • 对JaCoCo报告执行某些操作,而不要再次运行测试。

我认为你最好看mustRunAfter而不是dependsOn: https://docs.gradle.org/2.3/userguide/more_about_tasks.html#sec:ordering_tasks

task myCustomTask() {
    mustRunAfter jacocoTestReport
    doLast {
        ...
    }
}

如果你切换到mustRunAfter,你能做什么?

运行测试并立即使用JaCoCo报告。Gradle将确保myCustomTask在JaCoCo报告任务之后运行,因此您可以确保您的自定义任务看到最新的JaCoCo输出:

gradle jacocoTestReport myCustomTask

使用先前生成的JaCoCo报告。jacocoTestReport不是myCustomTask的依赖项,因此jacocoTestReport和它所依赖的任务不会被添加到任务图中,也不会运行。只运行myCustomTask:

gradle myCustomTask

相关内容

  • 没有找到相关文章

最新更新