我正在尝试将我的项目升级到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不兼容?如果是这样,我有什么可以做的吗?
答案 0 :(得分:4)
对Gradle 5.X中的报告API进行了一些更改,用于Azure Devops的JaCoCo版本是否与Gradle 5.X不兼容?
请参阅以下提取请求:JaCoCo compatible with gradle 5.x。上个月,由于Gradle
(see this changes)中的功能已更改,我们提出了拉动请求以改进Gradle 5.x
任务脚本:
此外,PR已成功合并。简而言之,对于我们的Gradle
任务,Jacoco版本与Gradle 5.x
兼容,后者已经升级了新语法。
为解决您的问题,我建议您最好遵循有问题的链接中的解决方案,以确保build.gradle
文件的脚本类似于以下格式:
destination file("$xx/xxx/xx.xml")
此外,您可以选中此thread。