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.ArchiverManager
archiverManager
private MojoAnnotationsScanner
mojoAnnotationsScanner
private org.apache.maven.repository.RepositorySystem
repositorySystem
-
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 ExecuteAnnotationContent
findExecuteInParentHierarchy(MojoAnnotatedClass mojoAnnotatedClass, java.util.Map<java.lang.String,MojoAnnotatedClass> mojoAnnotatedClasses)
private com.thoughtworks.qdox.model.DocletTag
findInClassHierarchy(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,MojoAnnotatedClass> mojoAnnotatedClasses)
protected org.apache.maven.project.MavenProject
getFromProjectReferences(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,MojoAnnotatedClass> mojoAnnotatedClasses)
private boolean
isMojoAnnnotatedClassCandidate(MojoAnnotatedClass mojoAnnotatedClass)
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.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
-
repositorySystem
@Requirement private org.apache.maven.repository.RepositorySystem repositorySystem
-
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:MojoDescriptorExtractor
Execute the mojo extraction.- Specified by:
execute
in interfaceMojoDescriptorExtractor
- Parameters:
request
- ThePluginToolsRequest
containing 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.
-
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.DuplicateParameterException
org.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,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,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)
-
-