我有一个带有自定义检查的maven repo,我希望所有其他maven repos依赖。我想在我的一个repos中禁止检查某些生成的代码。我可以通过两种方式设置抑制文件:
在自定义检查仓库中有抑制文件,然后在自定义检查样式xml中指定SuppressionFilter:
<module name="SuppressionFilter">
<property name="file" value="${samedir}/checkstyle_suppressions.xml"
default="src/main/resources/checkstyle_suppressions.xml"/>
</module>
然后在repo的pom.xml文件的maven插件部分中,我要运行自定义checkstyle:
<suppressionsLocation>checkstyle_suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
这两种方法都可以使用命令行“mvn clean validate”。但是它们都不适用于Intellij的CheckStyle IDEA插件。 Intellij插件抱怨它找不到上面第一种方法的抑制文件。
如果他们不需要,我不想强制每个repo都有一个抑制文件。我想知道是否有一种方法可以使CheckStyle IDEA的抑制工作,而不必拥有相同抑制文件的多个副本(自定义检查仓库中有1个,本地仓库中有1个)。
谢谢!
答案 0 :(得分:3)
插件使用的逻辑是
如果没有,它会放弃。所以有两种可能性:
如果您感兴趣,可以使用https://github.com/jshiell/checkstyle-idea/blob/master/src/main/java/org/infernus/idea/checkstyle/model/ConfigurationLocation.java resolveAssociatedFile
方法中的代码。