You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2015/05/14 13:39:32 UTC
svn commit: r1679346 - in
/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal:
Invoker.java Maven30ArtifactDeployer.java Maven31ArtifactDeployer.java
Author: rfscholte
Date: Thu May 14 11:39:32 2015
New Revision: 1679346
URL: http://svn.apache.org/r1679346
Log:
Fix handling of metadata
Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Invoker.java
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java
Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Invoker.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Invoker.java?rev=1679346&r1=1679345&r2=1679346&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Invoker.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Invoker.java Thu May 14 11:39:32 2015
@@ -81,4 +81,26 @@ final class Invoker
throw new ArtifactDeployerException( e.getMessage(), e );
}
}
+
+ public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+ throws ArtifactDeployerException
+ {
+ try
+ {
+ return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ }
+ catch ( IllegalAccessException e )
+ {
+ throw new ArtifactDeployerException( e.getMessage(), e );
+ }
+ catch ( InvocationTargetException e )
+ {
+ throw new ArtifactDeployerException( e.getMessage(), e );
+ }
+ catch ( NoSuchMethodException e )
+ {
+ throw new ArtifactDeployerException( e.getMessage(), e );
+ }
+ }
+
}
Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java?rev=1679346&r1=1679345&r2=1679346&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java Thu May 14 11:39:32 2015
@@ -21,7 +21,11 @@ package org.apache.maven.shared.artifact
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.ProjectBuildingRequest;
+import org.apache.maven.project.artifact.ProjectArtifactMetadata;
import org.apache.maven.shared.artifact.deploy.ArtifactDeployer;
import org.apache.maven.shared.artifact.deploy.ArtifactDeployerException;
import org.codehaus.plexus.component.annotations.Component;
@@ -33,7 +37,8 @@ import org.sonatype.aether.deployment.De
import org.sonatype.aether.deployment.DeploymentException;
import org.sonatype.aether.metadata.Metadata;
import org.sonatype.aether.metadata.Metadata.Nature;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
+import org.sonatype.aether.repository.RemoteRepository;
+import org.sonatype.aether.util.artifact.SubArtifact;
import org.sonatype.aether.util.metadata.DefaultMetadata;
@Component( role = ArtifactDeployer.class, hint = "maven3" )
@@ -55,26 +60,39 @@ public class Maven30ArtifactDeployer
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) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
request.addArtifact( aetherArtifact );
+
+ RemoteRepository aetherRepository =
+ (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo",
+ org.apache.maven.artifact.repository.ArtifactRepository.class,
+ mavenArtifact.getRepository() );
+ request.setRepository( aetherRepository );
- if ( mavenArtifact.getMetadataList() != null )
+ for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
{
- for( org.apache.maven.artifact.metadata.ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
+ if ( metadata instanceof ProjectArtifactMetadata )
+ {
+ org.sonatype.aether.artifact.Artifact pomArtifact = new SubArtifact( aetherArtifact, "", "pom" );
+ pomArtifact = pomArtifact.setFile( ( (ProjectArtifactMetadata) metadata ).getFile() );
+ request.addArtifact( pomArtifact );
+ }
+ else if ( // metadata instanceof SnapshotArtifactRepositoryMetadata ||
+ metadata instanceof ArtifactRepositoryMetadata )
{
- Metadata aetherMetadata = new DefaultMetadata( metadata.getGroupId(), metadata.getArtifactId(), "maven-metadata.xml", Nature.RELEASE_OR_SNAPSHOT );
-
- request.addMetadata( aetherMetadata );
+ // eaten, handled by repo system
+ }
+ else
+ {
+ // request.addMetadata( new MetadataBridge( metadata ) );
}
}
}
RepositorySystemSession session =
(RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
-
+
// deploy
try
{
Modified: maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java?rev=1679346&r1=1679345&r2=1679346&view=diff
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java (original)
+++ maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java Thu May 14 11:39:32 2015
@@ -21,7 +21,11 @@ package org.apache.maven.shared.artifact
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.ProjectBuildingRequest;
+import org.apache.maven.project.artifact.ProjectArtifactMetadata;
import org.apache.maven.shared.artifact.deploy.ArtifactDeployer;
import org.apache.maven.shared.artifact.deploy.ArtifactDeployerException;
import org.codehaus.plexus.component.annotations.Component;
@@ -29,12 +33,10 @@ import org.codehaus.plexus.component.ann
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.deployment.DeployRequest;
import org.eclipse.aether.deployment.DeploymentException;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.metadata.Metadata.Nature;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.util.artifact.SubArtifact;
@Component( role = ArtifactDeployer.class , hint="maven31" )
public class Maven31ArtifactDeployer implements ArtifactDeployer
@@ -54,18 +56,32 @@ public class Maven31ArtifactDeployer imp
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) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
request.addArtifact( aetherArtifact );
- if ( mavenArtifact.getMetadataList() != null )
+ RemoteRepository aetherRepository =
+ (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo",
+ org.apache.maven.artifact.repository.ArtifactRepository.class,
+ mavenArtifact.getRepository() );
+ request.setRepository( aetherRepository );
+
+ for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
{
- for( org.apache.maven.artifact.metadata.ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
+ if ( metadata instanceof ProjectArtifactMetadata )
+ {
+ Artifact pomArtifact = new SubArtifact( aetherArtifact, "", "pom" );
+ pomArtifact = pomArtifact.setFile( ( (ProjectArtifactMetadata) metadata ).getFile() );
+ request.addArtifact( pomArtifact );
+ }
+ else if ( // metadata instanceof SnapshotArtifactRepositoryMetadata ||
+ metadata instanceof ArtifactRepositoryMetadata )
+ {
+ // eaten, handled by repo system
+ }
+ else
{
- Metadata aetherMetadata = new DefaultMetadata( metadata.getGroupId(), metadata.getArtifactId(), "maven-metadata.xml", Nature.RELEASE_OR_SNAPSHOT );
-
- request.addMetadata( aetherMetadata );
+ // request.addMetadata( new MetadataBridge( metadata ) );
}
}
}