Issue Type: Bug Bug
Affects Versions: extra-enforcer-rules-1.0-alpha-4
Assignee: Unassigned
Components: extra-enforcer-rules
Created: 13/May/13 6:00 AM
Description:

The requirePropertyDiverges enforcer rule from extra-enforcer-rules fails with a NullPointerException if the rule configuration is placed in an execution section.

Example for a failing configuration
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.2</version>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>extra-enforcer-rules</artifactId>
                        <version>1.0-alpha-4</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>enforce-property-diverges</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requirePropertyDiverges>
                                    <property>project.url</property>
                                    <regex>http://company/wiki/company-parent-pom/.*</regex>
                                </requirePropertyDiverges>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Stack trace
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.2:enforce (enforce-general-project-rules) on project example-project: Execution enforce-general-project-rules of goal org.apache.maven.plugins:maven-enforcer-plugin:1.2:enforce failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.2:enforce (enforce-general-project-rules) on project example-project: Execution enforce-general-project-rules of goal org.apache.maven.plugins:maven-enforcer-plugin:1.2:enforce failed.
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
[...snip...]
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution enforce-general-project-rules of goal org.apache.maven.plugins:maven-enforcer-plugin:1.2:enforce failed.
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        ... 19 more
Caused by: java.lang.NullPointerException
        at org.apache.maven.plugins.enforcer.RequirePropertyDiverges.checkAgainstParentValue(RequirePropertyDiverges.java:110)
        at org.apache.maven.plugins.enforcer.RequirePropertyDiverges.execute(RequirePropertyDiverges.java:87)
        at org.apache.maven.plugins.enforcer.EnforceMojo.execute(EnforceMojo.java:178)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        ... 20 more
Patch

The rule code fails to find the parent POM which contains the rule configuration (RequirePropertyDiverges.findDefiningParent). The attached patch fixes this by including the configuration elements of all executions in RequirePropertyDiverges.getRuleConfigurations.

Project: Mojo
Priority: Major Major
Reporter: Michael Koch
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

Reply via email to