You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/01 13:06:14 UTC

svn commit: r799831 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java

Author: bentmann
Date: Sat Aug  1 11:06:14 2009
New Revision: 799831

URL: http://svn.apache.org/viewvc?rev=799831&view=rev
Log:
o Fixed extension realm to consider project-level plugin dependencies as well

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java?rev=799831&r1=799830&r2=799831&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java Sat Aug  1 11:06:14 2009
@@ -21,7 +21,9 @@
 
 import java.net.MalformedURLException;
 import java.util.ArrayList;
+import java.util.LinkedHashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.maven.ArtifactFilterManager;
 import org.apache.maven.artifact.Artifact;
@@ -32,6 +34,7 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
 import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
@@ -155,14 +158,20 @@
                 repositorySystem.createArtifact( extension.getGroupId(), extension.getArtifactId(),
                                                  extension.getVersion(), "jar" );
 
-            populateRealm( projectRealm, artifact, localRepository, remoteRepositories );
+            populateRealm( projectRealm, artifact, null, localRepository, remoteRepositories );
         }
 
         for ( Plugin plugin : extensionPlugins )
         {
             Artifact artifact = repositorySystem.createPluginArtifact( plugin );
 
-            populateRealm( projectRealm, artifact, localRepository, remoteRepositories );
+            Set<Artifact> dependencies = new LinkedHashSet<Artifact>();
+            for ( Dependency dependency : plugin.getDependencies() )
+            {
+                dependencies.add( repositorySystem.createDependencyArtifact( dependency ) );
+            }
+
+            populateRealm( projectRealm, artifact, dependencies, localRepository, remoteRepositories );
         }
 
         try
@@ -177,18 +186,19 @@
         return projectRealm;
     }
 
-    private void populateRealm( ClassRealm realm, Artifact artifact, ArtifactRepository localRepository,
-                                List<ArtifactRepository> remoteRepositories )
+    private void populateRealm( ClassRealm realm, Artifact artifact, Set<Artifact> dependencies,
+                                ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
         throws ArtifactResolutionException
     {
         ArtifactResolutionRequest request = new ArtifactResolutionRequest();
         request.setArtifact( artifact );
+        request.setArtifactDependencies( dependencies );
         request.setResolveTransitively( true );
         request.setFilter( artifactFilterManager.getCoreArtifactFilter() );
         request.setLocalRepository( localRepository );
         request.setRemoteRepostories( remoteRepositories );
         // FIXME setTransferListener
-        
+
         ArtifactResolutionResult result = repositorySystem.resolve( request );
 
         resolutionErrorHandler.throwErrors( request, result );

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java?rev=799831&r1=799830&r2=799831&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java Sat Aug  1 11:06:14 2009
@@ -104,6 +104,10 @@
                         {
                             mergePlugin_Version( element, managedPlugin, false, context );
                             mergePlugin_Extensions( element, managedPlugin, false, context );
+                            if ( element.isExtensions() )
+                            {
+                                mergePlugin_Dependencies( element, managedPlugin, false, context );
+                            }
                         }
                         else
                         {