Author: brett
Date: Fri May  5 02:00:27 2006
New Revision: 400015

URL: http://svn.apache.org/viewcvs?rev=400015&view=rev
Log:
filter out system and test scope dependencies

Modified:
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java?rev=400015&r1=400014&r2=400015&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java
 Fri May  5 02:00:27 2006
@@ -32,6 +32,8 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.plugins.assembly.model.GroupVersionAlignment;
 import org.apache.maven.plugins.assembly.model.Repository;
 import org.apache.maven.project.DefaultMavenProjectBuilder;
@@ -126,6 +128,7 @@
             throw new RepositoryAssemblyException( "Error invalidating the 
processed project cache.", e );
         }
 
+        ArtifactFilter filter = new ScopeArtifactFilter( 
Artifact.SCOPE_RUNTIME );
         try
         {
             // Now that we have the graph, let's try to align it to versions 
that we want and remove
@@ -138,32 +141,36 @@
             {
                 Artifact a = (Artifact) i.next();
 
-                String alignedVersion = (String) groupVersionAlignments.get( 
a.getGroupId() );
-
-                if ( alignedVersion != null && 
!groupVersionAlignmentExcludes.contains( a.getArtifactId() ) )
+                if ( filter.include( a ) )
                 {
-                    a.setVersion( alignedVersion );
-                }
-
-                // We need to flip it back to not being resolved so we can 
look for it again!
-                a.setResolved( false );
+                    String alignedVersion = (String) 
groupVersionAlignments.get( a.getGroupId() );
 
-                artifactResolver.resolve( a, 
project.getRemoteArtifactRepositories(), localRepository );
-
-                File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( a ) );
-                FileUtils.copyFile( a.getFile(), targetFile );
-
-                if ( !"pom".equals( a.getType() ) )
-                {
-                    // The correct metadata does not get pulled down unless 
this is used. Not
-                    // sure what the problem is.
-                    metadataSource.retrieve( a, localRepository, 
project.getRemoteArtifactRepositories() );
-
-                    Artifact pomArtifact =
-                        artifactFactory.createProjectArtifact( a.getGroupId(), 
a.getArtifactId(), a.getVersion() );
-                    File sourceFile = new File( localRepository.getBasedir(), 
localRepository.pathOf( pomArtifact ) );
-                    targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
-                    FileUtils.copyFile( sourceFile, targetFile );
+                    if ( alignedVersion != null && 
!groupVersionAlignmentExcludes.contains( a.getArtifactId() ) )
+                    {
+                        a.setVersion( alignedVersion );
+                    }
+
+                    // We need to flip it back to not being resolved so we can 
look for it again!
+                    a.setResolved( false );
+
+                    artifactResolver.resolve( a, 
project.getRemoteArtifactRepositories(), localRepository );
+
+                    File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( a ) );
+                    FileUtils.copyFile( a.getFile(), targetFile );
+
+                    if ( !"pom".equals( a.getType() ) )
+                    {
+                        // The correct metadata does not get pulled down 
unless this is used. Not
+                        // sure what the problem is.
+                        metadataSource.retrieve( a, localRepository, 
project.getRemoteArtifactRepositories() );
+
+                        Artifact pomArtifact =
+                            artifactFactory.createProjectArtifact( 
a.getGroupId(), a.getArtifactId(), a.getVersion() );
+                        File sourceFile =
+                            new File( localRepository.getBasedir(), 
localRepository.pathOf( pomArtifact ) );
+                        targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+                        FileUtils.copyFile( sourceFile, targetFile );
+                    }
                 }
             }
         }
@@ -200,48 +207,51 @@
             {
                 Artifact a = (Artifact) i.next();
 
-                Versioning v = new Versioning();
-
-                v.setRelease( a.getVersion() );
-
-                v.setLatest( a.getVersion() );
-
-                v.addVersion( a.getVersion() );
-
-                v.setLastUpdated( getUtcDateFormatter().format( new Date() ) );
-
-                ArtifactRepositoryMetadata metadata = new 
ArtifactRepositoryMetadata( a, v );
-                String path = targetRepository.pathOfLocalRepositoryMetadata( 
metadata, centralRepository );
-                File metadataFile = new File( targetRepository.getBasedir(), 
path );
-
-                MetadataXpp3Writer metadataWriter = new MetadataXpp3Writer();
-
-                Writer writer = null;
-                try
+                if ( filter.include( a ) )
                 {
-                    writer = new FileWriter( metadataFile );
+                    Versioning v = new Versioning();
 
-                    metadataWriter.write( writer, metadata.getMetadata() );
-                }
-                catch ( IOException e )
-                {
-                    throw new RepositoryAssemblyException( "Error writing 
artifact metdata.", e );
-                }
-                finally
-                {
-                    IOUtil.close( writer );
-                }
+                    v.setRelease( a.getVersion() );
 
-                File metadataFileRemote = new File( 
targetRepository.getBasedir(),
-                                                    
targetRepository.pathOfRemoteRepositoryMetadata( metadata ) );
+                    v.setLatest( a.getVersion() );
 
-                try
-                {
-                    FileUtils.copyFile( metadataFile, metadataFileRemote );
-                }
-                catch ( IOException e )
-                {
-                    throw new RepositoryAssemblyException( "Error writing 
artifact metdata.", e );
+                    v.addVersion( a.getVersion() );
+
+                    v.setLastUpdated( getUtcDateFormatter().format( new Date() 
) );
+
+                    ArtifactRepositoryMetadata metadata = new 
ArtifactRepositoryMetadata( a, v );
+                    String path = 
targetRepository.pathOfLocalRepositoryMetadata( metadata, centralRepository );
+                    File metadataFile = new File( 
targetRepository.getBasedir(), path );
+
+                    MetadataXpp3Writer metadataWriter = new 
MetadataXpp3Writer();
+
+                    Writer writer = null;
+                    try
+                    {
+                        writer = new FileWriter( metadataFile );
+
+                        metadataWriter.write( writer, metadata.getMetadata() );
+                    }
+                    catch ( IOException e )
+                    {
+                        throw new RepositoryAssemblyException( "Error writing 
artifact metdata.", e );
+                    }
+                    finally
+                    {
+                        IOUtil.close( writer );
+                    }
+
+                    File metadataFileRemote = new File( 
targetRepository.getBasedir(),
+                                                        
targetRepository.pathOfRemoteRepositoryMetadata( metadata ) );
+
+                    try
+                    {
+                        FileUtils.copyFile( metadataFile, metadataFileRemote );
+                    }
+                    catch ( IOException e )
+                    {
+                        throw new RepositoryAssemblyException( "Error writing 
artifact metdata.", e );
+                    }
                 }
             }
         }


Reply via email to