Skip Maven Flex PMD

时间:2013-03-05 19:14:23

标签: pmd flex-pmd

我们正在寻找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>

我看了一下该插件的源代码,似乎没有选择这样做。 任何想法或解决方法都是受欢迎的。

1 个答案:

答案 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>