我有一个通过Gradle Checkstyle插件在构建过程中运行Checkstyle的设置。但是,我们还使用了从外部运行Checkstyle的代码质量服务(实际上是Code Climate)。
在升级项目以使用JDK11后,我遇到了一个问题,当从Gradle运行时,suppressions.xml was not resolved correctly的位置。按照问题中的建议,我通过使用Gradle变量config_loc
解决了这个问题,就像这样:
<property name="file" value="${config_loc}/suppressions.xml"/>
当我通过Gradle运行Checkstyle时,此方法效果很好,但是当Code Climate尝试使用相同的配置在外部运行Checkstyle时,该方法失败了(因为Checkstyle不知道config_loc
变量)。
当然,我可以通过创建两个单独的配置文件(仅在pressions.xml的位置上有所不同)来解决此问题。但是我对代码重复保持警惕。有更好的方法吗?