1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.artifact.manager;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import java.util.List;
26
27 import org.apache.maven.artifact.Artifact;
28 import org.apache.maven.artifact.repository.ArtifactRepository;
29 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
30 import org.apache.maven.execution.MavenExecutionRequest;
31 import org.apache.maven.execution.MavenSession;
32 import org.apache.maven.plugin.LegacySupport;
33 import org.apache.maven.repository.MirrorSelector;
34 import org.apache.maven.settings.Mirror;
35 import org.apache.maven.settings.Proxy;
36 import org.apache.maven.settings.Server;
37 import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
38 import org.apache.maven.settings.crypto.SettingsDecrypter;
39 import org.apache.maven.settings.crypto.SettingsDecryptionResult;
40 import org.apache.maven.wagon.ResourceDoesNotExistException;
41 import org.apache.maven.wagon.TransferFailedException;
42 import org.apache.maven.wagon.authentication.AuthenticationInfo;
43 import org.apache.maven.wagon.proxy.ProxyInfo;
44 import org.codehaus.plexus.logging.Logger;
45
46
47
48
49 @Named
50 @Singleton
51 @Deprecated
52 public class DefaultWagonManager extends org.apache.maven.repository.legacy.DefaultWagonManager
53 implements WagonManager {
54
55
56 @Inject
57 private Logger log;
58
59 @Inject
60 private LegacySupport legacySupport;
61
62 @Inject
63 private SettingsDecrypter settingsDecrypter;
64
65 @Inject
66 private MirrorSelector mirrorSelector;
67
68 @Inject
69 private ArtifactRepositoryFactory artifactRepositoryFactory;
70
71 @Override
72 public AuthenticationInfo getAuthenticationInfo(String id) {
73 MavenSession session = legacySupport.getSession();
74
75 if (session != null && id != null) {
76 MavenExecutionRequest request = session.getRequest();
77
78 if (request != null) {
79 List<Server> servers = request.getServers();
80
81 if (servers != null) {
82 for (Server server : servers) {
83 if (id.equalsIgnoreCase(server.getId())) {
84 SettingsDecryptionResult result =
85 settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(server));
86 server = result.getServer();
87
88 AuthenticationInfo authInfo = new AuthenticationInfo();
89 authInfo.setUserName(server.getUsername());
90 authInfo.setPassword(server.getPassword());
91 authInfo.setPrivateKey(server.getPrivateKey());
92 authInfo.setPassphrase(server.getPassphrase());
93
94 return authInfo;
95 }
96 }
97 }
98 }
99 }
100
101
102 return new AuthenticationInfo();
103 }
104
105 @Override
106 public ProxyInfo getProxy(String protocol) {
107 MavenSession session = legacySupport.getSession();
108
109 if (session != null && protocol != null) {
110 MavenExecutionRequest request = session.getRequest();
111
112 if (request != null) {
113 List<Proxy> proxies = request.getProxies();
114
115 if (proxies != null) {
116 for (Proxy proxy : proxies) {
117 if (proxy.isActive() && protocol.equalsIgnoreCase(proxy.getProtocol())) {
118 SettingsDecryptionResult result =
119 settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(proxy));
120 proxy = result.getProxy();
121
122 ProxyInfo proxyInfo = new ProxyInfo();
123 proxyInfo.setHost(proxy.getHost());
124 proxyInfo.setType(proxy.getProtocol());
125 proxyInfo.setPort(proxy.getPort());
126 proxyInfo.setNonProxyHosts(proxy.getNonProxyHosts());
127 proxyInfo.setUserName(proxy.getUsername());
128 proxyInfo.setPassword(proxy.getPassword());
129
130 return proxyInfo;
131 }
132 }
133 }
134 }
135 }
136
137 return null;
138 }
139
140 @Override
141 public void getArtifact(Artifact artifact, ArtifactRepository repository)
142 throws TransferFailedException, ResourceDoesNotExistException {
143 getArtifact(artifact, repository, null, false);
144 }
145
146 @Override
147 public void getArtifact(Artifact artifact, List<ArtifactRepository> remoteRepositories)
148 throws TransferFailedException, ResourceDoesNotExistException {
149 getArtifact(artifact, remoteRepositories, null, false);
150 }
151
152 @Deprecated
153 @Override
154 public ArtifactRepository getMirrorRepository(ArtifactRepository repository) {
155
156 Mirror mirror = mirrorSelector.getMirror(
157 repository, legacySupport.getSession().getSettings().getMirrors());
158
159 if (mirror != null) {
160 String id = mirror.getId();
161 if (id == null) {
162
163 id = repository.getId();
164 }
165
166 log.debug("Using mirror: " + mirror.getUrl() + " (id: " + id + ")");
167
168 repository = artifactRepositoryFactory.createArtifactRepository(
169 id, mirror.getUrl(), repository.getLayout(), repository.getSnapshots(), repository.getReleases());
170 }
171 return repository;
172 }
173 }