extracted scanAnnotations() and scanJavadoc() methods for better understanding

git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/trunk@1340693 13f79535-47bb-0310-9956-ffa450edef68
master
Herve Boutemy 2012-05-20 12:26:44 +00:00
parent 99ff18a545
commit 745441f7aa
1 changed files with 21 additions and 10 deletions

View File

@ -100,19 +100,34 @@ public class JavaAnnotationsMojoDescriptorExtractor
public List<MojoDescriptor> execute( PluginToolsRequest request ) public List<MojoDescriptor> execute( PluginToolsRequest request )
throws ExtractionException, InvalidPluginDescriptorException throws ExtractionException, InvalidPluginDescriptorException
{ {
Map<String, MojoAnnotatedClass> mojoAnnotatedClasses = scanAnnotations( request );
Map<String, JavaClass> javaClassesMap = scanJavadoc( request, mojoAnnotatedClasses.values() );
populateDataFromJavadoc( mojoAnnotatedClasses, javaClassesMap );
return toMojoDescriptors( mojoAnnotatedClasses, request, javaClassesMap );
}
private Map<String, MojoAnnotatedClass> scanAnnotations( PluginToolsRequest request )
throws ExtractionException
{
MojoAnnotationsScannerRequest mojoAnnotationsScannerRequest = new MojoAnnotationsScannerRequest(); MojoAnnotationsScannerRequest mojoAnnotationsScannerRequest = new MojoAnnotationsScannerRequest();
mojoAnnotationsScannerRequest.setClassesDirectories( File output = new File( request.getProject().getBuild().getOutputDirectory() );
Arrays.asList( new File( request.getProject().getBuild().getOutputDirectory() ) ) ); mojoAnnotationsScannerRequest.setClassesDirectories( Arrays.asList( output ) );
mojoAnnotationsScannerRequest.setDependencies( request.getDependencies() ); mojoAnnotationsScannerRequest.setDependencies( request.getDependencies() );
mojoAnnotationsScannerRequest.setProject( request.getProject() ); mojoAnnotationsScannerRequest.setProject( request.getProject() );
Map<String, MojoAnnotatedClass> mojoAnnotatedClasses = return mojoAnnotationsScanner.scan( mojoAnnotationsScannerRequest );
mojoAnnotationsScanner.scan( mojoAnnotationsScannerRequest ); }
private Map<String, JavaClass> scanJavadoc( PluginToolsRequest request,
Collection<MojoAnnotatedClass> mojoAnnotatedClasses )
throws ExtractionException
{
// found artifact from reactors to scan sources // found artifact from reactors to scan sources
// we currently only scan sources from reactors // we currently only scan sources from reactors
List<MavenProject> mavenProjects = new ArrayList<MavenProject>(); List<MavenProject> mavenProjects = new ArrayList<MavenProject>();
@ -120,7 +135,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
// if we need to scan sources from external artifacts // if we need to scan sources from external artifacts
Set<Artifact> externalArtifacts = new HashSet<Artifact>(); Set<Artifact> externalArtifacts = new HashSet<Artifact>();
for ( MojoAnnotatedClass mojoAnnotatedClass : mojoAnnotatedClasses.values() ) for ( MojoAnnotatedClass mojoAnnotatedClass : mojoAnnotatedClasses )
{ {
if ( !StringUtils.equals( mojoAnnotatedClass.getArtifact().getArtifactId(), if ( !StringUtils.equals( mojoAnnotatedClass.getArtifact().getArtifactId(),
request.getProject().getArtifact().getArtifactId() ) ) request.getProject().getArtifact().getArtifactId() ) )
@ -163,13 +178,9 @@ public class JavaAnnotationsMojoDescriptorExtractor
javaClassesMap.putAll( discoverClasses( request ) ); javaClassesMap.putAll( discoverClasses( request ) );
populateDataFromJavadoc( mojoAnnotatedClasses, javaClassesMap ); return javaClassesMap;
return toMojoDescriptors( mojoAnnotatedClasses, request, javaClassesMap );
} }
protected Map<String, JavaClass> discoverClassesFromSourcesJar( Artifact artifact, PluginToolsRequest request, protected Map<String, JavaClass> discoverClassesFromSourcesJar( Artifact artifact, PluginToolsRequest request,
String classifier ) String classifier )
throws ExtractionException throws ExtractionException