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 ) ); } } }