如何在Maven中为主要和测试java代码集提供不同的PMD规则集?
在Gradle中,我们可以为pmdMain和pmdTest源集指定不同的PMD配置(包括不同的规则集)。e、 g如何在Maven中为主要和测试java代码集提供不同的PMD规则集?,java,maven,gradle,pmd,Java,Maven,Gradle,Pmd,在Gradle中,我们可以为pmdMain和pmdTest源集指定不同的PMD配置(包括不同的规则集)。e、 g pmdMain { ruleSetFiles = files("$javaBuildSystemRoot/src-pmd-rulesets.xml") } pmdTest { ruleSetFiles = files("$javaBuildSystemRoot/test-pmd-rulesets.xml") } 我们希望对测试代码的严格程度低于主代码 有一个单独的
pmdMain {
ruleSetFiles = files("$javaBuildSystemRoot/src-pmd-rulesets.xml")
}
pmdTest {
ruleSetFiles = files("$javaBuildSystemRoot/test-pmd-rulesets.xml")
}
我们希望对测试代码的严格程度低于主代码
有一个单独的基于maven的项目,我们目前无法使用gradle。但现在,我们希望至少基于main vs test应用两个不同的规则集。这是一个单模块单项目,使用maven PMD插件
我们如何在Maven pom文件中做到这一点?对测试源进行pmd是“非常非常规的”,但这不是问题的一部分。:)
你可以用maven来做这件事
编辑:简而言之&应用于给定的输入(可能比您想要/需要的更多),它允许/强制您在每个构建中进行两次检查:
编辑2:如果您确实不需要“两次执行”(在1个版本中),但对于“不同版本”只需要“两个配置”,那么:
符合您的需求(通过配置文件…您的“可能性汇聚到无限”)
您将介绍如下配置文件:
<project>
...
<profiles>
<profile>
<id>pmdMain</id>
<properties>
<myPmdRuleSetLocation>${javaBuildSystemRoot}/src-pmd-rulesets.xml</myPmdRuleSetLocation>
</properties>
</profile>
<profile>
<id>pmdTest</id>
<properties>
<myPmdRuleSetLocation>${javaBuildSystemRoot}/test-pmd-rulesets.xml</myPmdRuleSetLocation>
</properties>
</profile>
<profiles>
...
</project>
...
pmdMain
${javaBuildSystemRoot}/src-pmd-rulesets.xml
偏振模色散测试
${javaBuildSystemRoot}/test-pmd-rulesets.xml
...
并在(单个)pmd插件配置中使用:
...
<ruleset>${myPmdRuleSetLocation}</ruleset>
...
。。。
${myPmdRuleSetLocation}
...
请在个人资料和他们的激活
(另外,
可以包含并覆盖
标记!)在测试源上进行pmd是“非常非常规的”,但这不是问题的一部分:
你可以用maven来做这件事
编辑:简而言之&应用于给定的输入(可能比您想要/需要的更多),它允许/强制您在每个构建中进行两次检查:
编辑2:如果您确实不需要“两次执行”(在1个版本中),但对于“不同版本”只需要“两个配置”,那么:
符合您的需求(通过配置文件…您的“可能性汇聚到无限”)
您将介绍如下配置文件:
<project>
...
<profiles>
<profile>
<id>pmdMain</id>
<properties>
<myPmdRuleSetLocation>${javaBuildSystemRoot}/src-pmd-rulesets.xml</myPmdRuleSetLocation>
</properties>
</profile>
<profile>
<id>pmdTest</id>
<properties>
<myPmdRuleSetLocation>${javaBuildSystemRoot}/test-pmd-rulesets.xml</myPmdRuleSetLocation>
</properties>
</profile>
<profiles>
...
</project>
...
pmdMain
${javaBuildSystemRoot}/src-pmd-rulesets.xml
偏振模色散测试
${javaBuildSystemRoot}/test-pmd-rulesets.xml
...
并在(单个)pmd插件配置中使用:
...
<ruleset>${myPmdRuleSetLocation}</ruleset>
...
。。。
${myPmdRuleSetLocation}
...
请在个人资料和他们的激活
(另外,
可以包含并覆盖
标记!)xerx593,您是想在上述答案中添加“阶段”标记还是其他目标?如果没有这一点,两个执行看起来是相同的……“我认为”阶段
是可选的。当然,您必须调整和测试两种配置:内部配置-我的答案只是一个大纲。如果您使用插件目标pmd
,true
也应添加到第二次执行或配置文件中。xerx593,您是想在上述答案中添加“阶段”标记还是其他目标?如果没有这一点,两个执行看起来是相同的……“我认为”阶段
是可选的。当然,您必须调整和测试两种配置:内部配置-我的答案只是一个大纲。如果您使用插件目标pmd
,true
也应添加到第二次执行或配置文件中。