@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); } }
@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; }
private List<File> resolve(List<Dependency> dependencies) throws ArtifactResolutionException { try { CollectRequest collectRequest = getCollectRequest(dependencies); DependencyRequest dependencyRequest = getDependencyRequest(collectRequest); DependencyResult result = this.repositorySystem .resolveDependencies(this.session, dependencyRequest); addManagedDependencies(result); return getFiles(result); } catch (Exception ex) { throw new DependencyResolutionFailedException(ex); } finally { this.progressReporter.finished(); } }