使用构建任务执行任务

soc*_*qwe 10 gradle jacoco

我有一个使用 gradle 构建系统的传统 java 项目。我想添加 jacoco 代码覆盖率报告生成。所以我应用了 jacoco 插件,当我打电话时一切都按预期工作gradle build jacocoTestReport

我想知道如何在我的build.gradle脚本中定义jacocoTestReport任务应该在build任务完成后自动运行。

目标是仅从命令行运行gradle build,这将自动执行testjacocoTestReport(这样我就不必jacocoTestReport明确地作为命令行参数传递)。

Den*_*ühn 8

我会建议

build.finalizedBy(jacocoTestReport)
Run Code Online (Sandbox Code Playgroud)

这样,jacocoTestReport任务仅在构建任务之后执行,如您指定的那样。在接受的答案中,构建任务取决于测试报告任务,这意味着构建将您的自定义任务之后执行。


Mar*_*her 5

将其添加到构建脚本的末尾

build.dependsOn jacocoTestReport
Run Code Online (Sandbox Code Playgroud)

  • 在 gradle 5.0 中使用 Kotlin DSL 执行此操作会失败,因为它找不到“build”。很难找到正确的语法来引用构建生命周期阶段,如构建、测试、清理等。 (2认同)