@Override public URI[] resolve(Map args, Map... dependencyMaps) { return this.resolve(args, null, dependencyMaps); }
@Override public URI[] resolve(Map args, Map... dependencies) { return grapeEngine.resolve(args, dependencies); }
@Override public URI[] resolve(Map args, List depsInfo, Map... dependencies) { return grapeEngine.resolve(args, depsInfo, dependencies); }
@Override public URI[] resolve(Map args, List depsInfo, Map... dependencyMaps) { List<Exclusion> exclusions = createExclusions(args); List<Dependency> dependencies = createDependencies(dependencyMaps, exclusions); try { List<File> files = resolve(dependencies); List<URI> uris = new ArrayList<>(files.size()); for (File file : files) { uris.add(file.toURI()); } return uris.toArray(new URI[0]); } catch (Exception ex) { throw new DependencyResolutionFailedException(ex); } }
private URLClassLoader populateClassloader(OptionSet options) throws MalformedURLException { DependencyResolutionContext resolutionContext = new DependencyResolutionContext(); List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory .createDefaultRepositoryConfiguration(); repositoryConfiguration.add(0, new RepositoryConfiguration("local", new File("repository").toURI(), true)); boolean quiet = true; if (options.has(debugOption)) { System.setProperty("groovy.grape.report.downloads", "true"); quiet = false; } AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(null, repositoryConfiguration, resolutionContext, quiet); HashMap<String, Object> dependency = new HashMap<>(); dependency.put("group", "org.springframework.cloud.launcher"); dependency.put("module", "spring-cloud-launcher-deployer"); dependency.put("version", getVersion()); dependency.put("transitive", false); URI[] uris = grapeEngine.resolve(null, dependency); URLClassLoader loader = new URLClassLoader(new URL[] { uris[0].toURL() }, getClass().getClassLoader().getParent().getParent()); log.debug("resolved URIs " + Arrays.asList(loader.getURLs())); return loader; }
@Override public Object grab(Map args, Map... dependencyMaps) { List<Exclusion> exclusions = createExclusions(args); List<Dependency> dependencies = createDependencies(dependencyMaps, exclusions); try { List<File> files = resolve(dependencies); GroovyClassLoader classLoader = getClassLoader(args); for (File file : files) { classLoader.addURL(file.toURI().toURL()); } } catch (ArtifactResolutionException | MalformedURLException ex) { throw new DependencyResolutionFailedException(ex); } return null; }