/** * Resolve dependencies and return downloaded information of artifacts. * * @param dependencies the list of dependency * @return downloaded information of artifacts * @throws DependencyResolutionException If the dependency tree could not be built or any dependency * artifact could not be resolved. * @throws ArtifactResolutionException If the artifact could not be resolved. */ public List<ArtifactResult> resolve(List<Dependency> dependencies) throws DependencyResolutionException, ArtifactResolutionException { if (dependencies.size() == 0) { return Collections.EMPTY_LIST; } CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependencies.get(0)); for (int idx = 1; idx < dependencies.size(); idx++) { collectRequest.addDependency(dependencies.get(idx)); } for (RemoteRepository repository : remoteRepositories) { collectRequest.addRepository(repository); } DependencyFilter classpathFilter = DependencyFilterUtils .classpathFilter(JavaScopes.COMPILE, JavaScopes.RUNTIME); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFilter); return system.resolveDependencies(session, dependencyRequest).getArtifactResults(); }
collectRequest.setRoot(new Dependency(artifact, "compile")); for (RemoteRepository remoteRepo : remoteRepositories) { collectRequest.addRepository(remoteRepo);
RemoteRepository authenticatedRemoteRepository = setAuthentication(remoteRepository); if (!collectRequest.getRepositories().contains(authenticatedRemoteRepository)) { collectRequest.addRepository(authenticatedRemoteRepository);
private List<Artifact> resolveArtifacts(DependencyRequest request) throws DependencyResolutionException { // // We are attempting to encapsulate everything about resolution with this library. The dependency request requires // the collect request to have repositories set but this is all injected within this component so we have to set them. // CollectRequest collectRequest = request.getCollectRequest(); if (collectRequest.getRepositories() == null || collectRequest.getRepositories().isEmpty()) { for (RemoteRepository remoteRepository : remoteRepositories) { collectRequest.addRepository(remoteRepository); } } DependencyResult result = repositorySystem.resolveDependencies(repositorySystemSession, request); List<Artifact> artifacts = new ArrayList<Artifact>(); for (ArtifactResult ar : result.getArtifactResults()) { artifacts.add(ar.getArtifact()); } return artifacts; }
public List<Artifact> resolveArtifacts(DependencyRequest request) throws DependencyResolutionException { // // We are attempting to encapsulate everything about resolution with this library. The dependency request requires // the collect request to have repositories set but this is all injected within this component so we have to set them. // CollectRequest collectRequest = request.getCollectRequest(); if (collectRequest.getRepositories() == null || collectRequest.getRepositories().isEmpty()) { for (RemoteRepository remoteRepository : remoteRepositories) { collectRequest.addRepository(remoteRepository); } } DependencyResult result = system.resolveDependencies(session, request); List<Artifact> artifacts = new ArrayList<Artifact>(); for (ArtifactResult ar : result.getArtifactResults()) { artifacts.add(ar.getArtifact()); } return artifacts; }
private YggdrasilDependency resolveDependencies(@Nullable final Artifact defaultArtifact, @Nullable List<Dependency> mavenDependencies, final RepositorySystem repositorySystem, final RepositorySystemSession repositorySystemSession, final List<RemoteRepository> remoteRepositories) throws DependencyCollectionException, org.eclipse.aether.resolution.DependencyResolutionException { CollectRequest collectRequest = new CollectRequest(); if (defaultArtifact != null) { Dependency dependency = new Dependency((defaultArtifact), null); collectRequest.setRoot(dependency); } if (mavenDependencies != null && mavenDependencies.size() > 0) { collectRequest.setDependencies(mavenDependencies); } for (RemoteRepository remoteRepository : remoteRepositories) { collectRequest.addRepository(remoteRepository); } DependencyNode node = repositorySystem.collectDependencies(repositorySystemSession, collectRequest).getRoot(); if (logger.isDebugEnabled()) { Map<String, Object> logMap = new HashMap<>(); logMap.put(node.toString(), nodeToMap(node)); logger.debug("Collected the following dependencies: " + logMap); } DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setFilter(new ScopeDependencyFilter(null)); dependencyRequest.setRoot(node); repositorySystem.resolveDependencies(repositorySystemSession, dependencyRequest); return YggdrasilDependencyMavenUtil.fromDependencyNode(node, null); }
public List<Artifact> resolveArtifacts(Artifact artifact) throws DependencyResolutionException { DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(artifact, JavaScopes.RUNTIME)); for (RemoteRepository remoteRepository : remoteRepositories) { collectRequest.addRepository(remoteRepository); } DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFlter); return resolveArtifacts(dependencyRequest); }
public static void main( String[] args ) throws Exception { RepositorySystem repoSystem = newRepositorySystem(); RepositorySystemSession session = newSession( repoSystem ); DefaultArtifact artifact = new DefaultArtifact( "org.apache.maven:maven-profile:2.2.1" ); Dependency dependency = new Dependency( artifact , "compile"); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://repo1.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyNode node = repoSystem.collectDependencies( session, collectRequest ).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot( node ); repoSystem.resolveDependencies( session, dependencyRequest ); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept( nlg ); System.out.println( nlg.getClassPath() ); }
private void installDependency(String groupId, String artifactId, String version, RepositorySystemSession session) throws DependencyResolutionException{ logger.info("Installing and Loading Dependency : {} - {} - {} ", groupId , artifactId, version); Dependency dependency = new Dependency( new DefaultArtifact(groupId, artifactId, "", "jar", version ), "compile" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://central.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); system.resolveDependencies(session, dependencyRequest ).getRoot(); }
private void installDependency(String groupId, String artifactId, String version, RepositorySystemSession session) throws DependencyResolutionException{ logger.info("Installing and Loading Dependency : {} - {} - {} ", groupId , artifactId, version); Dependency dependency = new Dependency( new DefaultArtifact(groupId, artifactId, "", "jar", version ), "compile" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://central.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); system.resolveDependencies(session, dependencyRequest ).getRoot(); }
collectRequest.addRepository(repository);
collectRequest.setRoot(new Dependency(artifact, "compile")); for (RemoteRepository remoteRepo : remoteRepositories) { collectRequest.addRepository(remoteRepo);
private void resolve( ResolveRequest resolveRequest ) { RepositorySystem system = mavenSystemManager.getRepositorySystem(); RepositorySystemSession session = MavenSystemManager.newRepositorySystemSession( resolveRequest.localRepoDir ); org.eclipse.aether.artifact.Artifact artifact = new DefaultArtifact( resolveRequest.groupId + ":" + resolveRequest.artifactId + ":" + resolveRequest.version ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( new Dependency( artifact, "" ) ); // add remote repositories for ( RemoteRepository remoteRepository : resolveRequest.remoteRepositories ) { org.eclipse.aether.repository.RemoteRepository repo = new org.eclipse.aether.repository.RemoteRepository.Builder( remoteRepository.getId( ), "default", remoteRepository.getLocation( ).toString() ).build( ); collectRequest.addRepository(repo); } collectRequest.setRequestContext( "project" ); //collectRequest.addRepository( repo ); try { CollectResult collectResult = system.collectDependencies( session, collectRequest ); collectResult.getRoot().accept( resolveRequest.dependencyVisitor ); log.debug("Collected dependency results for resolve"); } catch ( DependencyCollectionException e ) { log.error( "Error while collecting dependencies (resolve): {}", e.getMessage(), e ); } }
public List<DependencyDescriptor> getArtifactDependecies( String artifactName ) { Artifact artifact = new DefaultArtifact( artifactName ); CollectRequest collectRequest = new CollectRequest(); Dependency root = new Dependency( artifact, "" ); collectRequest.setRoot( root ); for ( RemoteRepository repo : remoteRepositoriesForRequest ) { collectRequest.addRepository( repo ); } CollectResult collectResult; try { collectResult = aether.getSystem().collectDependencies( aether.getSession(), collectRequest ); } catch ( DependencyCollectionException e ) { throw new RuntimeException( e ); } CollectDependencyVisitor visitor = new CollectDependencyVisitor(); collectResult.getRoot().accept( visitor ); List<DependencyDescriptor> descriptors = new ArrayList<DependencyDescriptor>(); for ( DependencyNode node : visitor.getDependencies() ) { // skip root to not add artifact as dependency if ( node.getDependency().equals( root ) ) { continue; } descriptors.add( new DependencyDescriptor( node.getDependency().getArtifact() ) ); } return descriptors; }
public boolean attemptLibraryDownload(String name, String url, DownloadListener listener) { Dependency dependency = new Dependency(new DefaultArtifact(name), "compile"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); if (url != null) collectRequest.addRepository(new RemoteRepository.Builder("targetted", "default", url).build()); for (RemoteRepository repo : defaultRepositories) { collectRequest.addRepository(repo); } try { DependencyNode node = system.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(node); if (listener != null) session.setTransferListener(new MavenListenerAdapter(listener)); system.resolveDependencies(session, dependencyRequest); return true; } catch (DependencyCollectionException ex) { return false; } catch (DependencyResolutionException ex) { return false; } } }
public List<DependencyDescriptor> getArtifactDependecies( String artifactName ) { Artifact artifact = new DefaultArtifact( artifactName ); CollectRequest collectRequest = new CollectRequest(); Dependency root = new Dependency( artifact, "" ); collectRequest.setRoot( root ); for ( RemoteRepository repo : remoteRepositoriesForRequest ) { collectRequest.addRepository( repo ); } CollectResult collectResult; try { collectResult = aether.getSystem().collectDependencies( aether.getSession(), collectRequest ); } catch ( DependencyCollectionException e ) { throw new RuntimeException( e ); } CollectDependencyVisitor visitor = new CollectDependencyVisitor(); collectResult.getRoot().accept( visitor ); List<DependencyDescriptor> descriptors = new ArrayList<DependencyDescriptor>(); for ( DependencyNode node : visitor.getDependencies() ) { // skip root to not add artifact as dependency if ( node.getDependency().equals( root ) ) { continue; } descriptors.add( new DependencyDescriptor( node.getDependency().getArtifact() ) ); } return descriptors; }
public PreorderNodeListGenerator resolve(String coordinate, List<RemoteRepository> repositories) throws MavenResolverException { try { Dependency project = new Dependency(new DefaultArtifact(coordinate), "compile"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(project); for (RemoteRepository repo : repositories) { collectRequest.addRepository(repo); } DependencyNode node = this.repoSystem.collectDependencies(this.session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(node); this.repoSystem.resolveDependencies(session, dependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept(nlg); return nlg; } catch (DependencyCollectionException | DependencyResolutionException e) { throw new MavenResolverException("Unable to resolve " + coordinate + " from " + repositories.toString(), e); } }
private PreorderNodeListGenerator resolveInternal(String spec) throws DependencyCollectionException, DependencyResolutionException { Dependency dependency = new Dependency(new DefaultArtifact(spec), "compile"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); for (RemoteRepository remote : remoteRepositories) { collectRequest.addRepository(remote); } DependencyNode node = repositorySystem.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot( node ); repositorySystem.resolveDependencies(session, dependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept(nlg); return nlg; }
public AetherResult resolve( String groupId, String artifactId, String version ) throws DependencyResolutionException { RepositorySystemSession session = newSession(); Dependency dependency = new Dependency( new DefaultArtifact( groupId, artifactId, "", "jar", version ), "runtime" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", remoteRepository ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); DependencyNode rootNode = repositorySystem.resolveDependencies( session, dependencyRequest ).getRoot(); StringBuilder dump = new StringBuilder(); displayTree( rootNode, dump ); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); rootNode.accept( nlg ); return new AetherResult( rootNode, nlg.getFiles(), nlg.getClassPath() ); }
RemoteRepository authenticatedRemoteRepository = setAuthentication(remoteRepository); if (!collectRequest.getRepositories().contains(authenticatedRemoteRepository)) { collectRequest.addRepository(authenticatedRemoteRepository);