in nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java [102:151]
public boolean visit( DependencyNode node )
{
if ( throwable != null )
{
return false;
}
if ( root == node )
{
return true;
}
try
{
Artifact artifact = node.getArtifact();
if ( !artifacts.containsKey( artifact.getDependencyConflictId() ) )
{
//ignore non-runtime stuff..
return false;
}
// somehow the transitive artifacts in the tree are not always resolved?
artifact = artifacts.get( artifact.getDependencyConflictId() );
ExamineManifest depExaminator = examinerCache.get( artifact );
if ( depExaminator == null )
{
depExaminator = new ExamineManifest( log );
depExaminator.setArtifactFile( artifact.getFile() );
depExaminator.checkFile();
examinerCache.put( artifact, depExaminator );
}
if ( AbstractNbmMojo.matchesLibrary( artifact, explicitLibs, depExaminator, log, useOsgiDependencies ) )
{
if ( depExaminator.isNetBeansModule() )
{
log.warn(
"You are using a NetBeans Module as a Library (classpath extension): " + artifact.getId() );
}
nodes.add( artifact );
includes.add( artifact.getDependencyConflictId() );
// if a library, iterate to it's child nodes.
return true;
}
}
catch ( MojoExecutionException mojoExecutionException )
{
throwable = mojoExecutionException;
}
//don't bother iterating to childs if the current node is not a library.
return false;
}