in winegrower-extension/winegrower-build/winegrower-maven-plugin/src/main/java/org/apache/winegrower/extension/build/maven/LibsMojo.java [96:121]
protected Stream<File> collectTransitiveDependencies(final Dependency dependency) {
final DependencyResolutionRequest request = new DefaultDependencyResolutionRequest();
request.setMavenProject(new MavenProject() {{
getDependencies().add(dependency);
}});
request.setRepositorySession(session);
try {
final Collection<File> files = new ArrayList<>();
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();
files.add(artifact.getFile());
return true;
}
});
return files.stream();
} catch (final DependencyResolutionException e) {
throw new IllegalStateException(e.getMessage(), e);
}
}