in src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionClassLoaderFactory.java [284:311]
private Set<Artifact> gatherArtifacts(final MavenProject mavenProject, final Supplier<Set<Artifact>> setSupplier) throws MojoExecutionException {
final Set<Artifact> artifacts = setSupplier.get();
final DependencyNodeVisitor nodeVisitor = new DependencyNodeVisitor() {
@Override
public boolean visit(final DependencyNode dependencyNode) {
final Artifact artifact = dependencyNode.getArtifact();
artifacts.add(artifact);
return true;
}
@Override
public boolean endVisit(final DependencyNode dependencyNode) {
return true;
}
};
try {
final ProjectBuildingRequest projectRequest = createProjectBuildingRequest();
projectRequest.setProject(mavenProject);
final ArtifactFilter excludesFilter = new ExclusionSetFilter(EXCLUDED_ARTIFACT_IDS);
final DependencyNode depNode = dependencyGraphBuilder.buildDependencyGraph(projectRequest, excludesFilter);
depNode.accept(nodeVisitor);
} catch (DependencyGraphBuilderException e) {
throw new MojoExecutionException("Failed to build dependency tree", e);
}
return artifacts;
}