gpt4 book ai didi

CheckStyle IDEA 使用抑制文件进行自定义检查

转载 作者:行者123 更新时间:2023-12-04 12:50:19 24 4
gpt4 key购买 nike

我有一个带有自定义检查的 Maven 存储库,我希望所有其他 Maven 存储库都依赖它。我想在我的一个存储库中禁止检查某些生成的代码。有两种方法可以设置抑制文件:

  • 在自定义检查库中有抑制文件,然后在自定义检查样式 xml 中指定 SuppressionFilter:
    <module name="SuppressionFilter">
    <property name="file" value="${samedir}/checkstyle_suppressions.xml"
    default="src/main/resources/checkstyle_suppressions.xml"/>
    </module>

  • 然后在我想要运行自定义 checkstyle 的 repo 的 pom.xml 文件的 maven 插件部分:
        <suppressionsLocation>checkstyle_suppressions.xml</suppressionsLocation>
    <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
  • 不要将 SuppressionFilter 部分放在自定义 checkstyle xml 中。为要检查的 repo 设置相同的 pom.xml。抑制文件可以放置在要检查的存储库的本地。

  • 这两种方法都适用于命令行“mvn clean validate”。但两者都不适用于 Intellij 的 CheckStyle IDEA 插件。 Intellij 插件提示它找不到上述第一种方法的抑制文件。

    如果他们不需要,我不想强​​制每个 repo 都有一个抑制文件。我想知道是否有一种方法可以使 CheckStyle IDEA 的抑制工作而不必拥有同一抑制文件的多个副本(自定义检查存储库中的 1 个,本地存储库中的 1 个)。

    谢谢!

    最佳答案

    插件使用的逻辑是

  • 文件路径解决了吗?
  • 相对于规则文件,文件路径是否存在?
  • 相对于模块内容根、模块文件或项目基目录,文件路径是否存在?

  • 如果没有,它就放弃了。所以有两种可能:
  • 逻辑有问题。请在 GitHub 上提出问题。
  • 它不适合您的用例。在 GitHub 上提出一个功能特性,用一个例子来重现问题以及你认为应该如何改变分辨率以满足你的需求。

  • 代码在 resolveAssociatedFile https://github.com/jshiell/checkstyle-idea/blob/master/src/main/java/org/infernus/idea/checkstyle/model/ConfigurationLocation.java的方法如果你有兴趣。

    关于CheckStyle IDEA 使用抑制文件进行自定义检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31151346/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com