Реализация пользовательских модулей для checkstyle - PullRequest
0 голосов
/ 15 мая 2019

Я создал плагин, который вызывает плагин Checkstyle для всех подпроектов в проекте. Выполнение простых правил checkstyle для любого из проектов работает нормально, но когда я представляю свой пользовательский модуль, процесс сборки выдает
Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Unable to instantiate 'com.test.gradle.plugin.perf.MethodLimitCheck' class

В этом классе есть пользовательское правило, которое я хочу, чтобы запускался checkstyle. Мой плагин запускается во время сборки проекта и пытается запустить этот пользовательский модуль там, где он выходит из строя. Попытался пройти через много онлайн-ресурсов, но ничего не смог найти. Я использую Checkstyle версии 8.17.

Почему другой проект не может создать экземпляр класса? Даже когда класс является частью jar плагина, который прикреплен к другому проекту? Как правильно прикрепить пользовательский модуль?

1 Ответ

0 голосов
/ 16 мая 2019

Для Gradle пользовательские проверки должны быть помещены в путь к классу прогона анализа путем добавления пользовательской проверки в конфигурацию checkstyle.Пример из библиотеки Checkstyle Addons (в основном, коллекция пользовательских проверок):

plugins {
    id 'checkstyle'  // regular Checkstyle plugin
}
dependencies {
    checkstyle group: 'com.thomasjensen.checkstyle.addons', name: 'checkstyle-addons', version: '5.2.2'
}
checkstyle {
    configFile file('your-checkstyle.xml')
    toolVersion '8.0'   // set Checkstyle version here
}
...