Author: brett
Date: Tue Mar 17 02:32:33 2009
New Revision: 755090
URL: http://svn.apache.org/viewvc?rev=755090&view=rev
Log:
[MNG-4091] Validate the plugin descriptors and improve error reporting when
mismatched with artifact
Added:
maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
- copied unchanged from r755086,
maven/components/branches/maven-2.1.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
Modified:
maven/components/branches/maven-2.1.x/ (props changed)
maven/components/branches/maven-2.1.x/apache-maven/ (props changed)
maven/components/branches/maven-2.1.x/apache-maven/src/test/ (props
changed)
maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/branches/maven-2.1.x/maven-integration-tests/ (props
changed)
maven/components/branches/maven-2.1.x/maven-model/src/test/ (props
changed)
maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java
(props changed)
Propchange: maven/components/branches/maven-2.1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 17 02:32:33 2009
@@ -1,7 +1,7 @@
/maven/components/branches/maven-2.0.10-RC:679193-679867,680477-688882,708790-728809,728834
/maven/components/branches/maven-2.0.x:679552-679867,693956-728820,728836,728940,729060,729738,729785,730461,730631,734502,734803,736543,746381
/maven/components/branches/maven-2.1.0-M1-RC:690315,691793-694304
-/maven/components/branches/maven-2.1.0-RC:688883,689695,689976,689990,752428,753089-753090
+/maven/components/branches/maven-2.1.0-RC:688883,689695,689976,689990,752428,753089-753090,755086
/maven/components/branches/maven-2.1.x:751686
/maven/components/trunk:572229,720001,721902,726845,729292
/maven/sandbox/branches/maven/MNG-3379:678167
Propchange: maven/components/branches/maven-2.1.x/apache-maven/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 17 02:32:33 2009
@@ -1,7 +1,7 @@
/maven/components/branches/maven-2.0.10-RC/apache-maven:679193-679867,680477-688882,708790-728809,728834
/maven/components/branches/maven-2.0.x/apache-maven:533160,636838,649903,657432,659677,679552-679867,693956-728820,728836,728940,736543,746038
/maven/components/branches/maven-2.1.0-M1-RC/apache-maven:690315,691793-694304
-/maven/components/branches/maven-2.1.0-RC/apache-maven:688883,689695,689976,689990,752428,753089-753090
+/maven/components/branches/maven-2.1.0-RC/apache-maven:688883,689695,689976,689990,752428,753089-753090,755086
/maven/components/branches/maven-2.1.x/apache-maven:751686
/maven/components/trunk/apache-maven:720001,721902,726845,727688
/maven/components/trunk/maven-distribution:727688
Propchange: maven/components/branches/maven-2.1.x/apache-maven/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 17 02:32:33 2009
@@ -1,4 +1,4 @@
/maven/components/branches/maven-2.0.10-RC/apache-maven/src/test:728834
/maven/components/branches/maven-2.0.x/apache-maven/src/test:736543
-/maven/components/branches/maven-2.1.0-RC/apache-maven/src/test:752428,753089-753090
+/maven/components/branches/maven-2.1.0-RC/apache-maven/src/test:752428,753089-753090,755086
/maven/components/branches/maven-2.1.x/apache-maven/src/test:751686
Modified:
maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=755090&r1=755089&r2=755090&view=diff
==============================================================================
---
maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
(original)
+++
maven/components/branches/maven-2.1.x/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
Tue Mar 17 02:32:33 2009
@@ -69,6 +69,7 @@
import org.codehaus.plexus.component.configurator.ConfigurationListener;
import
org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import
org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
+import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
import
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
import
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.configuration.PlexusConfiguration;
@@ -84,6 +85,7 @@
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -296,10 +298,26 @@
try
{
- child = container.createChildContainer(
PluginUtils.constructVersionedKey( plugin ).intern(),
+ MavenPluginValidator validator = new MavenPluginValidator(
pluginArtifact );
+
+ String key = PluginUtils.constructVersionedKey( plugin ).intern();
+ child = container.createChildContainer( key,
Collections.singletonList(
pluginArtifact.getFile() ),
Collections.EMPTY_MAP,
- Collections.singletonList(
pluginCollector ) );
+ Arrays.asList( new
ComponentDiscoveryListener[] { validator, pluginCollector } ) );
+
+ if ( validator.hasErrors() )
+ {
+ String msg = "Plugin '" + key + "' has an invalid descriptor:";
+ int count = 1;
+ for ( Iterator i = validator.getErrors().iterator();
i.hasNext(); )
+ {
+ msg += "\n" + count + ") " + i.next();
+ count++;
+ }
+ throw new PluginManagerException( msg );
+ }
+
try
{
child.getContainerRealm().importFrom( "plexus.core",
"org.codehaus.plexus.util.xml.Xpp3Dom" );
Propchange: maven/components/branches/maven-2.1.x/maven-integration-tests/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 17 02:32:33 2009
@@ -1,4 +1,4 @@
/maven/components/branches/maven-2.0.10-RC/maven-integration-tests:728834
/maven/components/branches/maven-2.0.x/maven-integration-tests:736543
-/maven/components/branches/maven-2.1.0-RC/maven-integration-tests:752428,753089-753090
+/maven/components/branches/maven-2.1.0-RC/maven-integration-tests:752428,753089-753090,755086
/maven/components/branches/maven-2.1.x/maven-integration-tests:751686
Propchange: maven/components/branches/maven-2.1.x/maven-model/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 17 02:32:33 2009
@@ -1,4 +1,4 @@
/maven/components/branches/maven-2.0.10-RC/maven-model/src/test:728834
/maven/components/branches/maven-2.0.x/maven-model/src/test:736543
-/maven/components/branches/maven-2.1.0-RC/maven-model/src/test:752428,753089-753090
+/maven/components/branches/maven-2.1.0-RC/maven-model/src/test:752428,753089-753090,755086
/maven/components/branches/maven-2.1.x/maven-model/src/test:751686
Propchange:
maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 17 02:32:33 2009
@@ -1,4 +1,4 @@
/maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:688259,725329-725330,725342,725349,725359
/maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:690315,691793
-/maven/components/branches/maven-2.1.0-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:688883,689695,689976,689990,752428,753089-753090
+/maven/components/branches/maven-2.1.0-RC/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:688883,689695,689976,689990,752428,753089-753090,755086
/maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java:751686