use of com.walmartlabs.concord.runtime.v2.runner.guice.CurrentClasspathModule in project concord by walmartlabs.
the class InjectorFactory method create.
public Injector create() {
List<Module> l = new ArrayList<>();
l.add(new ConfigurationModule(workDir, runnerCfg, processConfigurationProvider));
l.add(new CurrentClasspathModule());
com.google.inject.Module tasks = new AbstractModule() {
@Override
protected void configure() {
TaskHolder<Task> holder = new TaskHolder<>();
bindListener(InjectorUtils.subClassesOf(Task.class), InjectorUtils.taskClassesListener(holder));
bind(new TypeLiteral<TaskHolder<Task>>() {
}).annotatedWith(V2.class).toInstance(holder);
}
};
l.add(tasks);
if (modules != null) {
l.addAll(Arrays.asList(modules));
}
com.google.inject.Module m = new WireModule(l);
return Guice.createInjector(m);
}
Aggregations