in src/main/java/org/apache/nifi/NarMojo.java [1154:1182]
private NarDependency getNarDependency() throws MojoExecutionException {
NarDependency narDependency = null;
// get nar dependencies
FilterArtifacts filter = new FilterArtifacts();
filter.addFilter(new TypeFilter("nar", ""));
// start with all artifacts.
Set<Artifact> artifacts = project.getArtifacts();
// perform filtering
try {
artifacts = filter.filter(artifacts);
} catch (ArtifactFilterException e) {
throw new MojoExecutionException(e.getMessage(), e);
}
// ensure there is a single nar dependency
if (artifacts.size() > 1) {
throw new MojoExecutionException("Each NAR represents a ClassLoader. A NAR dependency allows that NAR's ClassLoader to be "
+ "used as the parent of this NAR's ClassLoader. As a result, only a single NAR dependency is allowed.");
} else if (artifacts.size() == 1) {
final Artifact artifact = artifacts.iterator().next();
narDependency = new NarDependency(artifact.getGroupId(), artifact.getArtifactId(), artifact.getBaseVersion());
}
return narDependency;
}