Issue Type: Bug Bug
Affects Versions: extra-enforcer-rules-1.0-alpha-5
Assignee: Unassigned
Components: extra-enforcer-rules
Created: 04/Jul/13 7:36 AM
Description:

I am on my way to clean up our parent pom and to have greater control over what get's done when (order of executed goals), I defined a META-INF/plexus/components.xml:

<configuration>
                <phases>
                    <validate>
                       org.apache.maven.plugins:maven-enforcer-plugin:enforce
                    </validate>
...

Then I removed the enforcer from the plugins-section of the pom but left it's configuration in pluginManagement.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.3:enforce (default-enforce) on project portalpom3: Execution default-enforce of goal org.apache.maven.plugins:maven-enforcer-plugin:1.3:enforce failed. UnsupportedOperationException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.3:enforce (default-enforce) on project portalpom3: Execution default-enforce of goal org.apache.maven.plugins:maven-enforcer-plugin:1.3:enforce failed.
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-enforce of goal org.apache.maven.plugins:maven-enforcer-plugin:1.3: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.UnsupportedOperationException
        at java.util.AbstractList.add(AbstractList.java:148)
        at java.util.AbstractList.add(AbstractList.java:108)
        at java.util.AbstractCollection.addAll(AbstractCollection.java:334)
        at org.apache.maven.plugins.enforcer.RequirePropertyDiverges.getRuleConfigurations(RequirePropertyDiverges.java:240)
        at org.apache.maven.plugins.enforcer.RequirePropertyDiverges.findDefiningParent(RequirePropertyDiverges.java:172)
        at org.apache.maven.plugins.enforcer.RequirePropertyDiverges.execute(RequirePropertyDiverges.java:80)
        at org.apache.maven.plugins.enforcer.EnforceMojo.execute(EnforceMojo.java:179)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        ... 20 more

Because pluginManagement.getPluginsAsMap() is empty, it does not contain MAVEN_ENFORCER_PLUGIN and so Collections.emptyList() is returned, which does not support the addAll operation.

The workaround for the released version is to define the enforcer-plugin in the plugins-section and the fix will be to return a new ArrayList().

Environment: Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /Users/mifr/lib/apache-maven-3.0.5
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/jre
Default locale: de_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
Project: Mojo
Priority: Minor Minor
Reporter: Mirko Friedenhagen
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