当前位置: 首页 > 知识库问答 >
问题:

如何使用Gradle为测试和生产代码指定不同的(PMD、Checkstyle、Findbugs)规则集?

宋宏毅
2023-03-14

我正在用Gradle构建一个Java项目。我想把任务分开:

我希望对生产代码使用严格的规则(如PMD、Checkstyle、Findbugs),对测试使用更宽松的规则(如允许重复字符串和魔术数字)。

apply plugin: 'pmd'
pmd {
    ignoreFailures = true
    ruleSetFiles = files("$staticAnalysisCfgDir/pmd/pmdruleset.xml")
    toolVersion = '5.1.3'
    sourceSets = [sourceSets.main, sourceSets.test]
}

共有1个答案

卢嘉誉
2023-03-14

不是在pmd扩展插件上配置规则集,而是在pmdmainpmdtest任务上配置规则集(语法相同)。对于Checkstyle和FindBugs也是如此。

 类似资料:
  • 我使用的是sonarqube community Version6.7.2,我记得,SonarJava插件的目标是用squid规则取代(至少大部分是)Findbugs和PMD规则。当有一个合适的squid规则替换时,这些提供者提供了一个关于规则的信息,但现在我无法找到它,例如,来自findbugs的一些规则与我从squid中知道的其他规则非常相似。 Sonarqube建议只使用squid规则?这些

  • 我需要在Eclipse中为一个开发项目使用PMD、Findbugs和Checkstyle。Java6足以使用这些工具吗?或者我需要java 7?

  • 问题内容: 我在项目中配置了一个checkstyle验证规则,该规则禁止使用超过3个输入参数来定义类方法。该规则适用于我的类,但有时我必须扩展第三方类,而第三方类则不遵守此特定规则。 是否有可能指示“ checkstyle”某种方法应以静默方式忽略? 问题答案: 在http://checkstyle.sourceforge.net/config_filters.html#SuppressionCo

  • 我的应用程序中有几个模块(项目和子项目)(在Gradle中),我还添加了插件:PMD、checkstyle、findbugs。这些插件在它们的目录中创建它们自己的报告(例如:PMD在目录“reports”中创建目录“PMD”并将其放入reports)。我想有一个报告所有这些插件。那是可能的?如果是,怎么做?

  • 在处理arch4u-pmd项目期间,我们制定了几个基于java的pmd规则,在基于XML的规则集< code>our-rules.xml中配置它们,并将其作为普通的java库/工件(< code > io . github . ABC:my-PMD-rules:0 . 1 . 0 )发布到我们的工件存储库中。工件结构如下所示: 我们如何使用pmd插件将它们添加到Gradle项目中? 我们必须处理以

  • null b.其他项目之一ProjectAUtilities在PMD步骤失败,即使在PMD的Build.Gradle中忽略错误为true。错误表示有3个测试失败。 c.如何在build.gradle文件(而不是ANT)中为checkstyle/pmd/findbugs使用include/exclude。即除了“src/java”文件夹之外,它不会去做任何事情。 多谢了。