Author: jdcasey
Date: Mon Mar  3 11:18:37 2008
New Revision: 633239

URL: http://svn.apache.org/viewvc?rev=633239&view=rev
Log:
Restore complete list of plugin artifacts in PluginDescriptor for use in 
${plugin.artifacts}.

Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.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=633239&r1=633238&r2=633239&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
 Mon Mar  3 11:18:37 2008
@@ -284,7 +284,10 @@
         {
             try
             {
-                pluginRealm = realmManager.createPluginRealm( projectPlugin, 
pluginArtifact, artifacts );
+                pluginRealm = realmManager.createPluginRealm( projectPlugin,
+                                                              pluginArtifact,
+                                                              artifacts,
+                                                              
coreArtifactFilterManager.getArtifactFilter() );
 
                 getLogger().debug( "Created realm: " + pluginRealm + " for 
plugin: " + projectPlugin.getKey() );
             }
@@ -425,6 +428,8 @@
 
         repositories.addAll( project.getRemoteArtifactRepositories() );
 
+        ArtifactFilter filter = new ScopeArtifactFilter( 
Artifact.SCOPE_RUNTIME );
+
         ArtifactResolutionResult result = artifactResolver.resolveTransitively(
                                                                                
 dependencies,
                                                                                
 pluginArtifact,
@@ -435,7 +440,7 @@
                                                                                
                 : new ArrayList(
                                                                                
                                  repositories ),
                                                                                
 artifactMetadataSource,
-                                                                               
 coreArtifactFilterManager.getArtifactFilter() );
+                                                                               
 filter );
 
         Set resolved = new HashSet( result.getArtifacts() );
 

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java?rev=633239&r1=633238&r2=633239&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java
 Mon Mar  3 11:18:37 2008
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.model.Plugin;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.PlexusContainerException;
@@ -130,7 +131,7 @@
                                                 e );
         }
 
-        populateRealm( id, realm, extensionArtifact, artifacts );
+        populateRealm( id, realm, extensionArtifact, artifacts, null );
 
         return realm;
     }
@@ -267,7 +268,8 @@
 
     public ClassRealm createPluginRealm( Plugin plugin,
                                           Artifact pluginArtifact,
-                                          Collection artifacts )
+                                          Collection artifacts,
+                                          ArtifactFilter coreArtifactFilter )
         throws RealmManagementException
     {
         String id = RealmUtils.createPluginRealmId( plugin );
@@ -286,7 +288,7 @@
                                                 e );
         }
 
-        populateRealm( id, realm, pluginArtifact, artifacts );
+        populateRealm( id, realm, pluginArtifact, artifacts, 
coreArtifactFilter );
 
         logger.debug( "Saving artifacts:\n\n" + artifacts + "\n\nfor plugin: " 
+ id );
         pluginArtifacts.put( id, artifacts );
@@ -297,7 +299,8 @@
     private void populateRealm( String id,
                                 ClassRealm realm,
                                 Artifact mainArtifact,
-                                Collection artifacts )
+                                Collection artifacts,
+                                ArtifactFilter coreArtifactFilter )
         throws RealmManagementException
     {
         if ( !artifacts.contains( mainArtifact ) )
@@ -318,16 +321,24 @@
         for ( Iterator it = artifacts.iterator(); it.hasNext(); )
         {
             Artifact artifact = (Artifact) it.next();
-            try
+
+            if ( ( coreArtifactFilter == null ) || coreArtifactFilter.include( 
artifact ) )
             {
-                realm.addURL( artifact.getFile().toURI().toURL() );
+                try
+                {
+                    realm.addURL( artifact.getFile().toURI().toURL() );
+                }
+                catch ( MalformedURLException e )
+                {
+                    throw new RealmManagementException( id, artifact, "Invalid 
URL for artifact file: "
+                                                                      + 
artifact.getFile()
+                                                                      + " to 
be used in realm: " + id
+                                                                      + ".", e 
);
+                }
             }
-            catch ( MalformedURLException e )
+            else
             {
-                throw new RealmManagementException( id, artifact, "Invalid URL 
for artifact file: "
-                                                                  + 
artifact.getFile()
-                                                                  + " to be 
used in realm: " + id
-                                                                  + ".", e );
+                logger.debug( "Excluding artifact: " + 
artifact.getArtifactId() + " from plugin realm; it's already included in 
Maven's core." );
             }
         }
     }

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java?rev=633239&r1=633238&r2=633239&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java
 Mon Mar  3 11:18:37 2008
@@ -1,6 +1,7 @@
 package org.apache.maven.realm;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.model.Plugin;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 
@@ -34,7 +35,8 @@
 
     ClassRealm createPluginRealm( Plugin plugin,
                                   Artifact pluginArtifact,
-                                  Collection artifacts )
+                                  Collection artifacts,
+                                  ArtifactFilter coreArtifactFilter )
         throws RealmManagementException;
 
     void disposePluginRealm( Plugin plugin );


Reply via email to