Author: sisbell
Date: Wed Jun  6 13:24:52 2007
New Revision: 544937

URL: http://svn.apache.org/viewvc?view=rev&rev=544937
Log:
Need to resolve snapshots separately.

Modified:
    
incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java

Modified: 
incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java?view=diff&rev=544937&r1=544936&r2=544937
==============================================================================
--- 
incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
 (original)
+++ 
incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
 Wed Jun  6 13:24:52 2007
@@ -43,6 +43,7 @@
 import java.util.Set;
 import java.util.HashSet;
 import java.util.List;
+import java.util.ArrayList;
 
 import java.io.File;
 import java.io.IOException;
@@ -105,8 +106,24 @@
                                         boolean 
addResolvedDependenciesToProject )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
+        List<ArtifactRepository> releaseRepositories = new 
ArrayList<ArtifactRepository>();
+        List<ArtifactRepository> snapshotRepositories = new 
ArrayList<ArtifactRepository>();
+        for ( ArtifactRepository artifactRepository : 
remoteArtifactRepositories )
+        {
+            if ( artifactRepository.getSnapshots().isEnabled() )
+            {
+                snapshotRepositories.add( artifactRepository );
+            }
+            if ( artifactRepository.getReleases().isEnabled() )
+            {
+                releaseRepositories.add( artifactRepository );
+            }
+        }
+
         Set<Artifact> artifactDependencies = new HashSet<Artifact>();
+        Set<Artifact> snapshotArtifactDependencies = new HashSet<Artifact>();
         Set<Artifact> gacDependencies = new HashSet<Artifact>();
+
         ArtifactFilter gacFilter = new GacFilter();
         for ( Dependency dependency : dependencies )
         {
@@ -123,6 +140,12 @@
                     "NMAVEN-000-000: GAC Dependency = " + artifact.getType() + 
", ID = " + artifact.getArtifactId() );
                 gacDependencies.add( artifact );
             }
+            else if ( artifact.isSnapshot() )
+            {
+                logger.debug( "NMAVEN-000-000: Snapshot Dependency: Type  = " 
+ artifact.getType() +
+                    ", Artifact ID = " + artifact.getArtifactId() );
+                snapshotArtifactDependencies.add( artifact );
+            }
             else
             {
                 logger.debug( "NMAVEN-000-000: Dependency: Type  = " + 
artifact.getType() + ", Artifact ID = " +
@@ -130,15 +153,23 @@
                 artifactDependencies.add( artifact );
             }
         }
+        //Releases
+        ArtifactResolutionResult result = resolver.resolveTransitively( 
artifactDependencies, sourceArtifact,
+                                                                        
localArtifactRepository, releaseRepositories,
+                                                                        
metadata, gacFilter );
+        Set<Artifact> resolvedReleaseDependencies = result.getArtifacts();
+
+        //Snapshots
         ArtifactRepository artifactRepository = new DefaultArtifactRepository( 
"local", "file://" +
             localArtifactRepository.getBasedir(), new 
DefaultRepositoryLayout() );
 
-        ArtifactResolutionResult result = resolver.resolveTransitively( 
artifactDependencies, sourceArtifact,
-                                                                        
artifactRepository, remoteArtifactRepositories,
-                                                                        
metadata, gacFilter );
-        Set<Artifact> resolvedDependencies = result.getArtifacts();
+        ArtifactResolutionResult snapshotResult = 
resolver.resolveTransitively( snapshotArtifactDependencies,
+                                                                               
 sourceArtifact, artifactRepository,
+                                                                               
 snapshotRepositories, metadata,
+                                                                               
 gacFilter );
+        Set<Artifact> resolvedSnapshotDependencies = 
snapshotResult.getArtifacts();
         AssemblyRepositoryLayout layout = new AssemblyRepositoryLayout();
-        for ( Artifact artifact : resolvedDependencies )
+        for ( Artifact artifact : resolvedSnapshotDependencies )
         {
             File originalFileWithVersion = artifact.getFile();
             if ( artifact.isSnapshot() )
@@ -160,13 +191,6 @@
                     e.printStackTrace();
                 }
             }
-
-            /*
-            if ( !originalFileWithVersion.renameTo( targetFileWithoutVersion ) 
)
-            {
-                throw new ArtifactResolutionException( "NMAVEN-000-000: Failed 
to rename artifact", artifact );
-            }
-            */
             if ( originalFileWithVersion.length() != 0 && 
targetFileWithoutVersion.length() == 0 )
             {
                 throw new ArtifactResolutionException( "NMAVEN-000-000: 
Artifact is corrupted:", artifact );
@@ -179,8 +203,9 @@
         }
         if ( addResolvedDependenciesToProject )
         {
-            resolvedDependencies.addAll( gacDependencies );
-            project.setDependencyArtifacts( resolvedDependencies );
+            resolvedReleaseDependencies.addAll( gacDependencies );
+            resolvedReleaseDependencies.addAll( resolvedSnapshotDependencies );
+            project.setDependencyArtifacts( resolvedReleaseDependencies );
         }
     }
 


Reply via email to