Создание отчетов о покрытии кода в Azure DevOps с помощью Gradle 5.X

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

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


person Antonio Dragos    schedule 15.10.2019    source источник
comment
Согласно ответ, который вы цитируете, вы должны изменить свой build.gradle.   -  person Godin    schedule 15.10.2019
comment
Привет, как дела? Может ли изменение синтаксиса файла build.gradle решить вашу проблему? Не стесняйтесь оставлять здесь комментарии, если вы все еще сталкиваетесь с какой-либо ошибкой.   -  person Merlin Liang - MSFT    schedule 19.10.2019


Ответы (1)


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

См. Этот запрос на перенос: JaCoCo, совместимый с а>. В прошлом месяце мы подняли запрос на перенос, чтобы улучшить наш Gradle скрипт задачи, так как эта функция была изменена в _2 _ (увидеть эти изменения):

введите здесь описание изображения

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

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

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

Кроме того, вы можете проверить это ветка.

person Merlin Liang - MSFT    schedule 16.10.2019