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 java.util.Collection;
22
23 import org.apache.maven.api.Artifact;
24 import org.apache.maven.api.RemoteRepository;
25 import org.apache.maven.api.annotations.Nonnull;
26 import org.apache.maven.api.di.Named;
27 import org.apache.maven.api.di.Singleton;
28 import org.apache.maven.api.services.ArtifactDeployer;
29 import org.apache.maven.api.services.ArtifactDeployerException;
30 import org.apache.maven.api.services.ArtifactDeployerRequest;
31 import org.eclipse.aether.deployment.DeployRequest;
32 import org.eclipse.aether.deployment.DeployResult;
33 import org.eclipse.aether.deployment.DeploymentException;
34
35 import static org.apache.maven.internal.impl.Utils.nonNull;
36
37
38
39
40 @Named
41 @Singleton
42 public class DefaultArtifactDeployer implements ArtifactDeployer {
43
44 @Override
45 public void deploy(@Nonnull ArtifactDeployerRequest request) {
46 nonNull(request, "request");
47 InternalSession session = InternalSession.from(request.getSession());
48 Collection<Artifact> artifacts = nonNull(request.getArtifacts(), "request.artifacts");
49 RemoteRepository repository = nonNull(request.getRepository(), "request.repository");
50 try {
51 DeployRequest deployRequest = new DeployRequest()
52 .setRepository(session.toRepository(repository))
53 .setArtifacts(session.toArtifacts(artifacts));
54
55 DeployResult result = session.getRepositorySystem().deploy(session.getSession(), deployRequest);
56 } catch (DeploymentException e) {
57 throw new ArtifactDeployerException("Unable to deploy artifacts", e);
58 }
59 }
60 }