1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.resolver.examples.manual;
20
21 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
22 import org.eclipse.aether.RepositorySystem;
23 import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
24 import org.eclipse.aether.impl.DefaultServiceLocator;
25 import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
26 import org.eclipse.aether.spi.connector.transport.TransporterFactory;
27 import org.eclipse.aether.transport.file.FileTransporterFactory;
28 import org.eclipse.aether.transport.http.HttpTransporterFactory;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32
33
34
35
36 public class ManualRepositorySystemFactory {
37 private static final Logger LOGGER = LoggerFactory.getLogger(ManualRepositorySystemFactory.class);
38
39 public static RepositorySystem newRepositorySystem() {
40
41
42
43
44
45 DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
46 locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class);
47 locator.addService(TransporterFactory.class, FileTransporterFactory.class);
48 locator.addService(TransporterFactory.class, HttpTransporterFactory.class);
49
50 locator.setErrorHandler(new DefaultServiceLocator.ErrorHandler() {
51 @Override
52 public void serviceCreationFailed(Class<?> type, Class<?> impl, Throwable exception) {
53 LOGGER.error("Service creation failed for {} with implementation {}", type, impl, exception);
54 }
55 });
56
57 return locator.getService(RepositorySystem.class);
58 }
59 }