Создание отчетов о покрытии кода в Azure DevOps с помощью Gradle 5.X - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь обновить свой проект до Gradle 5.6.2. Одна из задач, которые я запускаю в DevOps Azure:

- 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() для аргументов [/ home / vsts / work / 1 / s / batch / build / jacocoHtml] в отчете html типа org.gradle.api.reporting.internal.TaskGeneratedSingleDirectoryReport

Согласно thisответ , некоторые изменения были внесены в API отчетности в Gradle 5.X. Является ли версия JaCoCo, используемая в Azure Devops, несовместимой с Gradle 5.X? Если да, могу ли я что-нибудь с этим сделать?

1 Ответ

4 голосов
/ 16 октября 2019

Некоторые изменения были внесены в API отчетности в Gradle 5.X. Является ли версия JaCoCo, используемая в Devure Devops, несовместимой с Gradle 5.X?

См. Этот запрос на извлечение: JaCoCo совместимо с gradle 5.x . В прошлом месяце мы подняли запрос на извлечение для улучшения нашего скрипта задачи Gradle, так как функция изменилась в Gradle 5.x ( см. Эти изменения ):

enter image description here

Кроме того, PR был успешно объединен. Одним словом, теперь для нашей задачи Gradle версия Jacoco совместима с Gradle 5.x, в котором обновлен новый синтаксис.

Чтобы решить вашу проблему, я предлагаю вам лучше следовать решению, котороев ссылке, которой вы поделились, чтобы убедиться, что скрипт вашего build.gradle файла похож на приведенный ниже формат:

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

Также вы можете проверить эту тему .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...