in maven-3.0.x/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java [74:140]
public void deploy( ProjectBuildingRequest buildingRequest,
ArtifactRepository remoteRepository,
Collection<org.apache.maven.artifact.Artifact> mavenArtifacts )
throws ArtifactDeployerException
{
// prepare request
DeployRequest request = new DeployRequest();
RemoteRepository defaultRepository = null;
if ( remoteRepository != null )
{
defaultRepository = getRemoteRepository( buildingRequest.getRepositorySession(), remoteRepository );
}
// transform artifacts
for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts )
{
Artifact aetherArtifact = RepositoryUtils.toArtifact( mavenArtifact );
request.addArtifact( aetherArtifact );
RemoteRepository aetherRepository;
if ( remoteRepository == null )
{
aetherRepository = getRemoteRepository( buildingRequest.getRepositorySession(),
mavenArtifact.getRepository() );
}
else
{
aetherRepository = defaultRepository;
}
request.setRepository( aetherRepository );
for ( 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 if ( metadata instanceof org.apache.maven.shared.transfer.metadata.ArtifactMetadata )
{
org.apache.maven.shared.transfer.metadata.ArtifactMetadata transferMedata =
(org.apache.maven.shared.transfer.metadata.ArtifactMetadata) metadata;
request.addMetadata( new Maven30MetadataBridge( metadata ).setFile( transferMedata.getFile() ) );
}
}
}
// deploy
try
{
repositorySystem.deploy( buildingRequest.getRepositorySession(), request );
}
catch ( DeploymentException e )
{
throw new ArtifactDeployerException( e.getMessage(), e );
}
}