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