private void addTransitiveDependencies(final File distroFolder, final Collection<String> includedArtifacts, final Dependency dependency) { final DependencyResolutionRequest request = new DefaultDependencyResolutionRequest(); request.setMavenProject(new MavenProject() {{ getDependencies().add(dependency); }}); request.setRepositorySession(session); try { dependenciesResolver.resolve(request).getDependencyGraph().accept(new DependencyVisitor() { @Override public boolean visitEnter(final DependencyNode node) { return true; } @Override public boolean visitLeave(final DependencyNode node) { final org.eclipse.aether.artifact.Artifact artifact = node.getArtifact(); if (artifact != null && !includedArtifacts.contains(artifact.getArtifactId())) { addLib(distroFolder, artifact.getFile()); } return true; } }); } catch (final DependencyResolutionException e) { throw new IllegalStateException(e.getMessage(), e); } }
request.setMavenProject( project ); Invoker.invoke( request, "setRepositorySession", RepositorySystemSession.class, session );
request.setMavenProject( project ); Invoker.invoke( request, "setRepositorySession", RepositorySystemSession.class, session );