protected RulesInstantiationStrategy getStrategy(Collection<Module> modules, IDependencyManager dependencyManager) { if (rulesInstantiationStrategy == null) { switch (modules.size()) { case 0: throw new IllegalStateException("There are no modules to instantiate."); case 1: rulesInstantiationStrategy = RulesInstantiationStrategyFactory.getStrategy(modules.iterator() .next(), isExecutionMode(), dependencyManager, classLoader); break; default: rulesInstantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, classLoader, isExecutionMode()); } } return rulesInstantiationStrategy; }
protected RulesInstantiationStrategy getStrategy(Collection<Module> modules, IDependencyManager dependencyManager) { if (rulesInstantiationStrategy == null) { switch (modules.size()) { case 0: throw new IllegalStateException("There are no modules to instantiate."); case 1: rulesInstantiationStrategy = RulesInstantiationStrategyFactory.getStrategy(modules.iterator() .next(), isExecutionMode(), dependencyManager, classLoader); break; default: rulesInstantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, classLoader, isExecutionMode()); } } return rulesInstantiationStrategy; }
protected IDependencyManager buildDependencyManager() throws ProjectResolvingException { Collection<ProjectDescriptor> projectDescriptors = new ArrayList<ProjectDescriptor>(); ProjectResolver projectResolver = ProjectResolver.instance(); ProjectDescriptor projectDescriptor = getProjectDescriptor(); if (workspace != null) { File[] files = workspace.listFiles(); List<ProjectDescriptor> projects; ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try { if (classLoader != null) { Thread.currentThread().setContextClassLoader(classLoader); } projects = projectResolver.resolve(files); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } List<ProjectDescriptor> dependentProjects = getDependentProjects(projectDescriptor, projects); projectDescriptors.addAll(dependentProjects); } projectDescriptors.add(projectDescriptor); SimpleProjectDependencyManager dependencyManager = new SimpleProjectDependencyManager(projectDescriptors, classLoader, isSingleModuleMode(), isExecutionMode()); dependencyManager.setExternalParameters(getExternalParameters()); return dependencyManager; }
protected IDependencyManager buildDependencyManager() throws ProjectResolvingException { Collection<ProjectDescriptor> projectDescriptors = new ArrayList<ProjectDescriptor>(); ProjectResolver projectResolver = ProjectResolver.instance(); ProjectDescriptor projectDescriptor = getProjectDescriptor(); if (workspace != null) { File[] files = workspace.listFiles(); List<ProjectDescriptor> projects; ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try { if (classLoader != null) { Thread.currentThread().setContextClassLoader(classLoader); } projects = projectResolver.resolve(files); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } List<ProjectDescriptor> dependentProjects = getDependentProjects(projectDescriptor, projects); projectDescriptors.addAll(dependentProjects); } projectDescriptors.add(projectDescriptor); SimpleProjectDependencyManager dependencyManager = new SimpleProjectDependencyManager(projectDescriptors, classLoader, isSingleModuleMode(), isExecutionMode()); dependencyManager.setExternalParameters(getExternalParameters()); return dependencyManager; }