Создайте отчет HTML-таблицы Checkstyle с помощью Gradle
Я хочу получить результат работы Checkstyle через Gradle как отчет HTML.
Я ничего не нашел в документации Checkstyle plugin.
Я добавил следующее в мой файл build.gradle
.
checkstyleTask {
reports {
html {
destination "build/reports/checkstyle.html"
}
}
}
но это дало
Что пошло не так: возникла проблема с оценкой корневого проекта MyProject.
Не удалось найти метод checkstyleTask() для аргументов [build_1vu33nc0ekgtoo19jt e86o8o42 $_run_closure8 @1d8ee20] для root проект "MyProject".
Есть ли способ генерировать HTML-отчеты Checkstyle с помощью Gradle?
Спасибо.
Ответы
Ответ 1
Вот как я делаю это в моем проекте smal:
checkstyleMain << {
ant.xslt(in: reports.xml.destination,
style: new File('config/checkstyle-noframes-sorted.xsl'),
out: new File(reports.xml.destination.parent, 'main.html'))
}
Это требует, чтобы вы сохранили файл checkstyle-noframes-sorted.xsl из каталога contrib в бинарном дистрибутиве checkyle в каталоге config
вашего проекта.
Если вы можете позволить себе работать с сервером SonarQube, использование плагина сонара приводит к гораздо лучшему пользовательскому опыту.
РЕДАКТОР: Вышеуказанное не будет работать, если есть нарушения. Это должно во всех случаях:
task checkstyleHtml << {
ant.xslt(in: checkstyleMain.reports.xml.destination,
style: file('/config/checkstyle-noframes-sorted.xsl'),
out: new File(checkstyleMain.reports.xml.destination.parent, 'main.html'))
}
checkstyleMain.finalizedBy checkstyleHtml
Ответ 2
Похоже, я опаздываю на вечеринку. Но все же публикация этого мышления может помочь кому-то другому с той же проблемой.
Gradle 2.10 поддерживает генерацию отчета файла html. Просто убедитесь, что версия настроена правильно в вашем файле gradle-wrapper.properties
.
После этого в вашем файле build.gradle
вы должны иметь такую конфигурацию, как ниже.
apply plugin: 'checkstyle'
checkstyle {
toolVersion = '6.4.1'
sourceSets = [sourceSets.main]
configFile = rootProject.file("config/checkstyle/checkstyle.xml");
showViolations = true
ignoreFailures = true
}
checkstyleTest {
enabled = false
}
tasks.withType(Checkstyle) {
reports {
html.destination rootProject.file("build/reports/checkstyle.html")
}
}
Здесь config file
- это файл, в котором есть модули checkstyle, которые вы хотите использовать, и html.destination
- это местоположение, в котором вы хотите создать отчет html.
Ответ 3
Для Gradle 2.10 добавьте следующий код в build.gradle
:
tasks.withType(Checkstyle) {
reports {
html.enabled = true
}
}