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.sisu;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Provider;
24
25 import com.google.inject.Guice;
26 import com.google.inject.Module;
27 import org.apache.maven.model.building.DefaultModelBuilderFactory;
28 import org.apache.maven.model.building.ModelBuilder;
29 import org.eclipse.aether.RepositorySystem;
30 import org.eclipse.sisu.launch.Main;
31 import org.eclipse.sisu.space.BeanScanning;
32
33
34
35
36 @Named
37 public class SisuRepositorySystemFactory {
38 @Inject
39 private RepositorySystem repositorySystem;
40
41 public static RepositorySystem newRepositorySystem() {
42 final Module app = Main.wire(BeanScanning.INDEX, new SisuRepositorySystemDemoModule());
43 return Guice.createInjector(app).getInstance(SisuRepositorySystemFactory.class).repositorySystem;
44 }
45
46 @Named
47 private static class ModelBuilderProvider implements Provider<ModelBuilder> {
48 public ModelBuilder get() {
49 return new DefaultModelBuilderFactory().newInstance();
50 }
51 }
52 }