Author: rfscholte
Date: Sat Mar 14 12:26:39 2015
New Revision: 1666672

URL: http://svn.apache.org/r1666672
Log:
Reuse parts of code of 
org.apache.maven.artifact.installer.DefaultArtifactInstaller

Modified:
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java?rev=1666672&r1=1666671&r2=1666672&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
 Sat Mar 14 12:26:39 2015
@@ -22,8 +22,12 @@ package org.apache.maven.shared.artifact
 import java.io.File;
 import java.util.Collection;
 
+import org.apache.maven.RepositoryUtils;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import 
org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
 import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.artifact.ProjectArtifactMetadata;
 import org.apache.maven.shared.artifact.install.ArtifactInstaller;
 import org.apache.maven.shared.artifact.install.ArtifactInstallerException;
 import org.codehaus.plexus.component.annotations.Component;
@@ -33,13 +37,10 @@ import org.sonatype.aether.RepositorySys
 import org.sonatype.aether.artifact.Artifact;
 import org.sonatype.aether.installation.InstallRequest;
 import org.sonatype.aether.installation.InstallationException;
-import org.sonatype.aether.metadata.Metadata;
-import org.sonatype.aether.metadata.Metadata.Nature;
 import org.sonatype.aether.repository.LocalRepository;
 import org.sonatype.aether.repository.LocalRepositoryManager;
 import org.sonatype.aether.util.DefaultRepositorySystemSession;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
-import org.sonatype.aether.util.metadata.DefaultMetadata;
+import org.sonatype.aether.util.artifact.SubArtifact;
 
 @Component( role = ArtifactInstaller.class, hint = "maven3" )
 public class Maven30ArtifactInstaller
@@ -58,22 +59,25 @@ public class Maven30ArtifactInstaller
         // transform artifacts
         for ( org.apache.maven.artifact.Artifact mavenArtifact : 
mavenArtifacts )
         {
-            Artifact aetherArtifact =
-                new DefaultArtifact( mavenArtifact.getGroupId(), 
mavenArtifact.getArtifactId(),
-                                     mavenArtifact.getClassifier(), 
mavenArtifact.getArtifactHandler().getExtension(),
-                                     mavenArtifact.getVersion(), null, 
mavenArtifact.getFile() );
+            Artifact mainArtifact = RepositoryUtils.toArtifact( mavenArtifact 
);   
+            request.addArtifact( mainArtifact );
 
-            request.addArtifact( aetherArtifact );
-
-            if ( mavenArtifact.getMetadataList() != null )
+            for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
             {
-                for ( org.apache.maven.artifact.metadata.ArtifactMetadata 
metadata : mavenArtifact.getMetadataList() )
+                if ( metadata instanceof ProjectArtifactMetadata )
                 {
-                    Metadata aetherMetadata =
-                        new DefaultMetadata( metadata.getGroupId(), 
metadata.getArtifactId(), "maven-metadata.xml",
-                                             Nature.RELEASE_OR_SNAPSHOT );
-
-                    request.addMetadata( aetherMetadata );
+                    org.sonatype.aether.artifact.Artifact pomArtifact = new 
SubArtifact( mainArtifact, "", "pom" );
+                    pomArtifact = pomArtifact.setFile( ( 
(ProjectArtifactMetadata) metadata ).getFile() );
+                    request.addArtifact( pomArtifact );
+                }
+                else if ( // metadata instanceof 
SnapshotArtifactRepositoryMetadata ||
+                    metadata instanceof ArtifactRepositoryMetadata )
+                {
+                    // eaten, handled by repo system
+                }
+                else
+                {
+                    // request.addMetadata( new MetadataBridge( metadata ) );
                 }
             }
         }


Reply via email to