Class JavaAnnotationsMojoDescriptorExtractor
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor
-
- All Implemented Interfaces:
MojoDescriptorExtractor,org.codehaus.plexus.logging.LogEnabled
@Component(role=MojoDescriptorExtractor.class, hint="java-annotations") public class JavaAnnotationsMojoDescriptorExtractor extends org.codehaus.plexus.logging.AbstractLogEnabled implements MojoDescriptorExtractor
JavaMojoDescriptorExtractor, a MojoDescriptor extractor to read descriptors from java classes with annotations. Notice that source files are also parsed to get description, since and deprecation information.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description private org.codehaus.plexus.archiver.manager.ArchiverManagerarchiverManagerprivate org.apache.maven.artifact.factory.ArtifactFactoryartifactFactoryprivate org.apache.maven.artifact.resolver.ArtifactResolverartifactResolverprivate MojoAnnotationsScannermojoAnnotationsScanner-
Fields inherited from interface org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor
ROLE
-
-
Constructor Summary
Constructors Constructor Description JavaAnnotationsMojoDescriptorExtractor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass>discoverClasses(java.lang.String encoding, java.util.List<java.io.File> sourceDirectories, java.util.Set<org.apache.maven.artifact.Artifact> artifacts)protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass>discoverClasses(java.lang.String encoding, org.apache.maven.project.MavenProject project)protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass>discoverClasses(PluginToolsRequest request)protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass>discoverClassesFromSourcesJar(org.apache.maven.artifact.Artifact artifact, PluginToolsRequest request, java.lang.String classifier)java.util.List<org.apache.maven.plugin.descriptor.MojoDescriptor>execute(PluginToolsRequest request)Execute the mojo extraction.private java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaField>extractFieldParameterTags(com.thoughtworks.qdox.model.JavaClass javaClass, java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> javaClassesMap)extract fields that are either parameters or components.protected ExecuteAnnotationContentfindExecuteInParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)private com.thoughtworks.qdox.model.DocletTagfindInClassHierarchy(com.thoughtworks.qdox.model.JavaClass javaClass, java.lang.String tagName)protected java.util.List<ComponentAnnotationContent>getComponentParent(MojoAnnotatedClass mojoAnnotatedClass, java.util.List<ComponentAnnotationContent> componentAnnotationContents, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)protected java.util.Map<java.lang.String,ComponentAnnotationContent>getComponentsParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,ComponentAnnotationContent> components, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)protected org.apache.maven.project.MavenProjectgetFromProjectReferences(org.apache.maven.artifact.Artifact artifact, org.apache.maven.project.MavenProject project)protected java.util.List<ParameterAnnotationContent>getParametersParent(MojoAnnotatedClass mojoAnnotatedClass, java.util.List<ParameterAnnotationContent> parameterAnnotationContents, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)protected java.util.Map<java.lang.String,ParameterAnnotationContent>getParametersParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,ParameterAnnotationContent> parameters, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)private booleanisMojoAnnnotatedClassCandidate(MojoAnnotatedClass mojoAnnotatedClass)protected voidpopulateDataFromJavadoc(java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses, java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> javaClassesMap)from sources scan to get @since and @deprecated and description of classes and fields.private java.util.Map<java.lang.String,MojoAnnotatedClass>scanAnnotations(PluginToolsRequest request)private java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass>scanJavadoc(PluginToolsRequest request, java.util.Collection<MojoAnnotatedClass> mojoAnnotatedClasses)private java.util.List<org.apache.maven.plugin.descriptor.MojoDescriptor>toMojoDescriptors(java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses, org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
-
-
-
Field Detail
-
mojoAnnotationsScanner
@Requirement private MojoAnnotationsScanner mojoAnnotationsScanner
-
artifactResolver
@Requirement private org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
-
artifactFactory
@Requirement private org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
-
archiverManager
@Requirement private org.codehaus.plexus.archiver.manager.ArchiverManager archiverManager
-
-
Method Detail
-
execute
public java.util.List<org.apache.maven.plugin.descriptor.MojoDescriptor> execute(PluginToolsRequest request) throws ExtractionException, org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException
Description copied from interface:MojoDescriptorExtractorExecute the mojo extraction.- Specified by:
executein interfaceMojoDescriptorExtractor- Parameters:
request- ThePluginToolsRequestcontaining information for the extraction process.- Returns:
- a list of mojo descriptors.
- Throws:
ExtractionException- if anyorg.apache.maven.plugin.descriptor.InvalidPluginDescriptorException- if any
-
scanAnnotations
private java.util.Map<java.lang.String,MojoAnnotatedClass> scanAnnotations(PluginToolsRequest request) throws ExtractionException
- Throws:
ExtractionException
-
scanJavadoc
private java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> scanJavadoc(PluginToolsRequest request, java.util.Collection<MojoAnnotatedClass> mojoAnnotatedClasses) throws ExtractionException
- Throws:
ExtractionException
-
isMojoAnnnotatedClassCandidate
private boolean isMojoAnnnotatedClassCandidate(MojoAnnotatedClass mojoAnnotatedClass)
-
discoverClassesFromSourcesJar
protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> discoverClassesFromSourcesJar(org.apache.maven.artifact.Artifact artifact, PluginToolsRequest request, java.lang.String classifier) throws ExtractionException- Throws:
ExtractionException
-
populateDataFromJavadoc
protected void populateDataFromJavadoc(java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses, java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> javaClassesMap)
from sources scan to get @since and @deprecated and description of classes and fields.- Parameters:
mojoAnnotatedClasses-javaClassesMap-
-
findInClassHierarchy
private com.thoughtworks.qdox.model.DocletTag findInClassHierarchy(com.thoughtworks.qdox.model.JavaClass javaClass, java.lang.String tagName)- Parameters:
javaClass- not nulltagName- not null- Returns:
- docletTag instance
-
extractFieldParameterTags
private java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaField> extractFieldParameterTags(com.thoughtworks.qdox.model.JavaClass javaClass, java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> javaClassesMap)extract fields that are either parameters or components.- Parameters:
javaClass- not null- Returns:
- map with Mojo parameters names as keys
-
discoverClasses
protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> discoverClasses(PluginToolsRequest request)
-
discoverClasses
protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> discoverClasses(java.lang.String encoding, org.apache.maven.project.MavenProject project)
-
discoverClasses
protected java.util.Map<java.lang.String,com.thoughtworks.qdox.model.JavaClass> discoverClasses(java.lang.String encoding, java.util.List<java.io.File> sourceDirectories, java.util.Set<org.apache.maven.artifact.Artifact> artifacts)
-
toMojoDescriptors
private java.util.List<org.apache.maven.plugin.descriptor.MojoDescriptor> toMojoDescriptors(java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses, org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor) throws org.apache.maven.plugin.descriptor.DuplicateParameterException, org.apache.maven.plugin.descriptor.InvalidParameterException
- Throws:
org.apache.maven.plugin.descriptor.DuplicateParameterExceptionorg.apache.maven.plugin.descriptor.InvalidParameterException
-
findExecuteInParentHierarchy
protected ExecuteAnnotationContent findExecuteInParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)
-
getParametersParentHierarchy
protected java.util.Map<java.lang.String,ParameterAnnotationContent> getParametersParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,ParameterAnnotationContent> parameters, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)
-
getParametersParent
protected java.util.List<ParameterAnnotationContent> getParametersParent(MojoAnnotatedClass mojoAnnotatedClass, java.util.List<ParameterAnnotationContent> parameterAnnotationContents, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)
-
getComponentsParentHierarchy
protected java.util.Map<java.lang.String,ComponentAnnotationContent> getComponentsParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,ComponentAnnotationContent> components, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)
-
getComponentParent
protected java.util.List<ComponentAnnotationContent> getComponentParent(MojoAnnotatedClass mojoAnnotatedClass, java.util.List<ComponentAnnotationContent> componentAnnotationContents, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)
-
getFromProjectReferences
protected org.apache.maven.project.MavenProject getFromProjectReferences(org.apache.maven.artifact.Artifact artifact, org.apache.maven.project.MavenProject project)
-
-