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