我们正在寻找flex-pmd-maven-plugin中的一个选项,使用命令行选项暂时跳过pmd执行。 maven pmd插件有一个-Dpmd.skip = true选项。
我也在为flex-pmd-maven-plugin寻找类似的东西。
<plugin>
<groupId>com.adobe.ac</groupId>
<artifactId>flex-pmd-maven-plugin</artifactId>
<version>${flex-pmd.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<ruleSet>build_rules/Flexpmd.xml</ruleSet>
<excludePackage>**/Mocked*.as</excludePackage>
</configuration>
</plugin>
我看了一下该插件的源代码,似乎没有选择这样做。 任何想法或解决方法都是受欢迎的。
答案 0 :(得分:0)
我找到了一种解决方法来跳过Flex PMD而无需实际删除插件。 flex-pmd插件在 验证 maven阶段运行。我将插件中的阶段参数化为并将命令行参数-Dpmd.phase作为deploy或package传递。
然后我然后运行命令mvn clean install -Dpmd.phase=deploy
由于maven仅在安装阶段运行且pmd阶段更改为部署,因此将跳过Flex PMD .. :)
当我想运行Flex PMD时,我只需更改hudson构建即可运行以下
mvn clean install -Dpmd.phase=package
此处为代码段
<plugin>
<groupId>com.adobe.ac</groupId>
<artifactId>flex-pmd-maven-plugin</artifactId>
<version>${flex-pmd.version}</version>
<executions>
<execution>
<phase>${pmd.phase}</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<ruleSet>build_rules/Flexpmd.xml</ruleSet>
<excludePackage>**/Mocked*.as</excludePackage>
</configuration>
</plugin>
我在pom中还有以下默认属性,因此对于运行正常mvn clean install的开发人员,默认情况下将运行pmd
<properties>
<pmd.phase>package</pmd.phase>
</properties>