1 package org.apache.maven.resolver.examples.sisu;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import javax.inject.Inject;
23 import javax.inject.Named;
24 import javax.inject.Provider;
25
26 import com.google.inject.Guice;
27 import com.google.inject.Module;
28 import org.apache.maven.model.building.DefaultModelBuilderFactory;
29 import org.apache.maven.model.building.ModelBuilder;
30 import org.eclipse.aether.RepositorySystem;
31 import org.eclipse.sisu.launch.Main;
32 import org.eclipse.sisu.space.BeanScanning;
33
34
35
36
37 @Named
38 public class SisuRepositorySystemFactory
39 {
40 @Inject
41 private RepositorySystem repositorySystem;
42
43 public static RepositorySystem newRepositorySystem()
44 {
45 final Module app = Main.wire(
46 BeanScanning.INDEX,
47 new SisuRepositorySystemDemoModule()
48 );
49 return Guice.createInjector( app ).getInstance( SisuRepositorySystemFactory.class ).repositorySystem;
50 }
51
52 @Named
53 private static class ModelBuilderProvider
54 implements Provider<ModelBuilder>
55 {
56 public ModelBuilder get()
57 {
58 return new DefaultModelBuilderFactory().newInstance();
59 }
60 }
61 }