【问题标题】:Generating code coverage reports on Azure DevOps with Gradle 5.X使用 Gradle 5.X 在 Azure DevOps 上生成代码覆盖率报告
【发布时间】:2019-10-15 15:42:06
【问题描述】:

我正在尝试将我的项目升级到 Gradle 5.6.2。我在 Azure DevOps 上运行的任务之一是:

- task: Gradle@2
  displayName: 'Test Project'
  inputs:
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx7000m'
    sonarQubeRunAnalysis: true
    sonarQubeGradlePluginVersion: 2.6.2
    testRunTitle: $(DISPLAY_NAME)
    codeCoverageToolOption: JaCoCo
    publishJUnitResults: true
    testResultsFiles: '**/build/test-results/test/TEST-*.xml'
    tasks: "test -Dtest.profile=unit --parallel"

升级到 Gradle 5.6.2 后,运行代码覆盖率报告时出现以下错误:

org.gradle.api.reporting.internal.TaskGeneratedSingleDirectoryReport 类型的报告 html 上找不到参数 [/home/vsts/work/1/s/batch/build/jacocoHtml] 的方法 destination()

根据this answer,对 Gradle 5.X 中的报告 API 进行了一些更改。 Azure Devops 上使用的 JaCoCo 版本是否与 Gradle 5.X 不兼容?如果是这样,我能做些什么吗?

【问题讨论】:

标签: gradle azure-devops jacoco


【解决方案1】:

对 Gradle 5.X 中的报告 API 进行了一些更改,Azure Devops 上使用的 JaCoCo 版本是否与 Gradle 5.X 不兼容?

查看此拉取请求:JaCoCo compatible with gradle 5.x。上个月,我们提出了一个拉取请求来改进我们的 Gradle 任务脚本,因为 Gradle 5.x(see this changes) 中的功能发生了变化:

另外,PR 已成功合并。总之,现在,对于我们的Gradle 任务,Jacoco 版本与升级了新语法的Gradle 5.x 兼容。

为了解决您的问题,我建议您最好按照您分享的链接中的解决方案,以确保您的build.gradle文件的脚本类似于以下格式:

    destination file("$xx/xxx/xx.xml")

另外,您可以查看thread

【讨论】:

    猜你喜欢
    • 2020-11-25
    • 2019-07-04
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 2020-05-20
    相关资源
    最近更新 更多