【问题标题】:Execute task with build task使用构建任务执行任务
【发布时间】:2019-09-20 16:58:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: gradle jacoco


    【解决方案1】:

    我建议

    build.finalizedBy(jacocoTestReport)
    

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

    【讨论】:

    • @sockeqwe 根据提出的问题,这应该被接受。谢谢丹尼斯。
    【解决方案2】:

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

    build.dependsOn jacocoTestReport
    

    【讨论】:

    • 想想 gradle 在运行之前询问每个任务它的依赖项是什么(即需要运行什么)。 “在构建可以运行之前,x 必须运行”,所以“构建依赖于 x”
    • 在 gradle 5.0 中使用 Kotlin DSL 执行此操作失败,因为它找不到“构建”。很难找到正确的语法来引用构建生命周期阶段,如构建、测试、清理等。
    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2015-07-08
    • 2013-09-03
    • 2019-03-28
    • 1970-01-01
    相关资源
    最近更新 更多