实现Checkstyle的自定义模块

时间:2019-05-15 20:49:03

标签: java gradle checkstyle

我创建了一个插件,该插件为项目中的所有子项目调用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 :(得分:0)

对于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
}