You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/10/23 22:33:11 UTC
svn commit: r587648 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/plugin/
maven-embedder/src/test/java/org/apache/maven/embedder/
Author: jvanzyl
Date: Tue Oct 23 13:33:10 2007
New Revision: 587648
URL: http://svn.apache.org/viewvc?rev=587648&view=rev
Log:
o for milos' test i am now adding the component to the container programmatically so we don't need to manually stuff an artifact handler into
the artifact handler manager
Added:
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java (with props)
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=587648&r1=587647&r2=587648&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Tue Oct 23 13:33:10 2007
@@ -1400,9 +1400,8 @@
if ( pluginRealm == null )
{
- getLogger().warn(
- "getPluginComponent(" + plugin + ", " + role
- + "): descriptor is missing classRealm" );
+ getLogger().warn( "getPluginComponent(" + plugin + ", " + role + "): descriptor is missing classRealm" );
+
pluginRealm = container.getLookupRealm();
}
Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java?rev=587648&r1=587647&r2=587648&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java Tue Oct 23 13:33:10 2007
@@ -1,16 +1,17 @@
package org.apache.maven.embedder;
-import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResult;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.PluginManagerException;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import java.io.File;
import java.util.Map;
-import java.util.HashMap;
/** @author Jason van Zyl */
public class MavenEmbedderProjectWithExtensionReadingTest
@@ -24,7 +25,25 @@
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- MavenExecutionResult result = new ExtendableMavenEmbedder( classLoader ).readProjectWithDependencies( request );
+ MavenEmbedder embedder = new ExtendableMavenEmbedder( classLoader );
+
+ // Here we take the artifact handler and programmatically place it into the container
+
+ ComponentDescriptor cd = new ComponentDescriptor();
+
+ cd.setRole( ArtifactHandler.ROLE );
+
+ cd.setRoleHint( "mkleint" );
+
+ cd.setImplementation( MyArtifactHandler.class.getName() );
+
+ embedder.getPlexusContainer().addComponentDescriptor( cd );
+
+ // At this point the artifact handler will be inside the container and
+ // Maven internally will pick up the artifact handler and use it accordingly to
+ // create the classpath appropriately.
+
+ MavenExecutionResult result = embedder.readProjectWithDependencies( request );
assertNoExceptions( result );
@@ -48,13 +67,17 @@
protected Map getPluginExtensionComponents( Plugin plugin )
throws PluginManagerException
{
- Map toReturn = new HashMap();
+ try
+ {
+ return getPlexusContainer().lookupMap( ArtifactHandler.ROLE );
+ }
+ catch ( ComponentLookupException e )
+ {
+ e.printStackTrace();
- MyArtifactHandler handler = new MyArtifactHandler();
+ throw new PluginManagerException( plugin, null );
+ }
- toReturn.put( "mkleint", handler );
-
- return toReturn;
}
protected void verifyPlugin( Plugin plugin,
@@ -64,43 +87,4 @@
}
}
- private class MyArtifactHandler
- implements ArtifactHandler
- {
-
- public String getExtension()
- {
- return "jar";
- }
-
- public String getDirectory()
- {
- throw new UnsupportedOperationException( "Not supported yet." );
- }
-
- public String getClassifier()
- {
- return null;
- }
-
- public String getPackaging()
- {
- return "mkleint";
- }
-
- public boolean isIncludesDependencies()
- {
- return false;
- }
-
- public String getLanguage()
- {
- return "java";
- }
-
- public boolean isAddedToClasspath()
- {
- return true;
- }
- }
}
Added: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java?rev=587648&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java (added)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java Tue Oct 23 13:33:10 2007
@@ -0,0 +1,43 @@
+package org.apache.maven.embedder;
+
+import org.apache.maven.artifact.handler.ArtifactHandler;
+
+/** @author Jason van Zyl */
+public class MyArtifactHandler
+ implements ArtifactHandler
+{
+ public String getExtension()
+ {
+ return "jar";
+ }
+
+ public String getDirectory()
+ {
+ throw new UnsupportedOperationException( "Not supported yet." );
+ }
+
+ public String getClassifier()
+ {
+ return null;
+ }
+
+ public String getPackaging()
+ {
+ return "mkleint";
+ }
+
+ public boolean isIncludesDependencies()
+ {
+ return false;
+ }
+
+ public String getLanguage()
+ {
+ return "java";
+ }
+
+ public boolean isAddedToClasspath()
+ {
+ return true;
+ }
+}
Propchange: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision