1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.inject.Named;
22 import javax.inject.Singleton;
23
24 import java.util.Collection;
25
26 import org.apache.maven.api.Artifact;
27 import org.apache.maven.api.RemoteRepository;
28 import org.apache.maven.api.annotations.Nonnull;
29 import org.apache.maven.api.services.ArtifactDeployer;
30 import org.apache.maven.api.services.ArtifactDeployerException;
31 import org.apache.maven.api.services.ArtifactDeployerRequest;
32 import org.eclipse.aether.deployment.DeployRequest;
33 import org.eclipse.aether.deployment.DeployResult;
34 import org.eclipse.aether.deployment.DeploymentException;
35
36 import static org.apache.maven.internal.impl.Utils.nonNull;
37
38
39
40
41 @Named
42 @Singleton
43 public class DefaultArtifactDeployer implements ArtifactDeployer {
44
45 @Override
46 public void deploy(@Nonnull ArtifactDeployerRequest request) {
47 nonNull(request, "request");
48 InternalSession session = InternalSession.from(request.getSession());
49 Collection<Artifact> artifacts = nonNull(request.getArtifacts(), "request.artifacts");
50 RemoteRepository repository = nonNull(request.getRepository(), "request.repository");
51 try {
52 DeployRequest deployRequest = new DeployRequest()
53 .setRepository(session.toRepository(repository))
54 .setArtifacts(session.toArtifacts(artifacts));
55
56 DeployResult result = session.getRepositorySystem().deploy(session.getSession(), deployRequest);
57 } catch (DeploymentException e) {
58 throw new ArtifactDeployerException("Unable to deploy artifacts", e);
59 }
60 }
61 }