[使用Gradle 5.X在Azure DevOps上生成代码覆盖率报告

问题描述 投票:0回答:1

我正在尝试将我的项目升级到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后,运行代码覆盖率报告时出现以下错误:

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

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

gradle azure-devops jacoco
1个回答
0
投票

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

请参阅此提取请求:JaCoCo compatible with gradle 5.x。上个月,由于GradleGradle 5.x)中的功能已更改,我们提出了拉取请求以改进see this changes任务脚本。

enter image description here

此外,PR已成功合并。一句话,现在,对于我们的Gradle任务,Jacoco版本与Gradle 5.x兼容,后者已升级了新语法。

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

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

此外,您也可以检查此thread

© www.soinside.com 2019 - 2024. All rights reserved.