从Eclipse中的checkstyle-plugin排除路径

时间:2019-01-13 22:25:26

标签: eclipse-plugin checkstyle

Eclipse 2018-12 Eclipse Checkstyle插件8.12.0 Java jdk11.0.1

在日食项目中,我使用Google的自动值。文件是在/projectRoot/.apt_generation/tld/domain/some/package/AutoValue_AnyName.java中自动生成的。我想从checkstyle检查中排除这些文件,所以我添加了

<module name="BeforeExecutionExclusionFileFilter">
    <property name="fileNamePattern" value=".*/.apt_generated/.*/AutoValue_.*"/>
</module>

在我的checkstyle.xml中。 IMO,应与自动生成的文件匹配并将其排除在扫描范围之外。 ,Eclipse的意见不尽相同。文件被扫描,并且Google不遵循我的编码风格,因此我遇到了很多“问题”。如何从Checkstyle中排除这些文件?

1 个答案:

答案 0 :(得分:2)

您可以通过将其添加到项目的.checkstyle文件中来排除检查:

<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
  ...
  <filter name="DerivedFiles" enabled="true" />
</fileset-config>

这假定AutoValue / APT将生成的文件标记为派生。

或者如果您生成的类型仅限于特定的文件夹/程序包:

<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
  ...
  <filter name="FilesFromPackage" enabled="true">
    <filter-data value="derived" />
  </filter>
</fileset-config>

或者您可以尝试:

<module name="SuppressionFilter">
    <property name="file" value="${config_loc}/.checkstyleSuppress.xml" />
</module>

带有适当的禁止xml文件。它用途广泛,但需要首次进行一些设置。