Class AbstractScriptedMojoDescriptorExtractor

  • All Implemented Interfaces:
    MojoDescriptorExtractor, org.codehaus.plexus.logging.LogEnabled

    public abstract class AbstractScriptedMojoDescriptorExtractor
    extends org.codehaus.plexus.logging.AbstractLogEnabled
    implements MojoDescriptorExtractor
    Author:
    jdcasey
    • Constructor Detail

      • AbstractScriptedMojoDescriptorExtractor

        public AbstractScriptedMojoDescriptorExtractor()
    • Method Detail

      • execute

        public List<org.apache.maven.plugin.descriptor.MojoDescriptor> execute​(PluginToolsRequest request)
                                                                        throws ExtractionException,
                                                                               org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException
        Execute the mojo extraction.
        Specified by:
        execute in interface MojoDescriptorExtractor
        Parameters:
        request - The PluginToolsRequest containing information for the extraction process.
        Returns:
        a list of mojo descriptors.
        Throws:
        ExtractionException - if any
        org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException - if any
      • gatherFilesByBasedir

        protected Map<String,​Set<File>> gatherFilesByBasedir​(File basedir,
                                                                   List<String> directories,
                                                                   String scriptFileExtension,
                                                                   PluginToolsRequest request)
        Parameters:
        basedir - not null
        directories - not null
        scriptFileExtension - not null
        request - the request
        Returns:
        map with subdirs paths as key
      • extractMojoDescriptorsFromMetadata

        protected List<org.apache.maven.plugin.descriptor.MojoDescriptor> extractMojoDescriptorsFromMetadata​(Map<String,​Set<File>> metadataFilesByBasedir,
                                                                                                             PluginToolsRequest request)
                                                                                                      throws ExtractionException,
                                                                                                             org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException
        Should be implemented in the sub classes.
        Parameters:
        metadataFilesByBasedir - could be null
        request - The plugin request, never null.
        Returns:
        always null
        Throws:
        ExtractionException - if any
        org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException - if any
      • getMetadataFileExtension

        protected String getMetadataFileExtension​(PluginToolsRequest request)
        Should be implemented in the sub classes.
        Parameters:
        request - the request
        Returns:
        always null
      • extractMojoDescriptors

        protected List<org.apache.maven.plugin.descriptor.MojoDescriptor> extractMojoDescriptors​(Map<String,​Set<File>> scriptFilesKeyedByBasedir,
                                                                                                 PluginToolsRequest request)
                                                                                          throws ExtractionException,
                                                                                                 org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException
        Should be implemented in the sub classes.
        Parameters:
        scriptFilesKeyedByBasedir - could be null
        request - The plugin request, never null.
        Returns:
        always null
        Throws:
        ExtractionException - if any
        org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException - if any
      • getScriptFileExtension

        protected abstract String getScriptFileExtension​(PluginToolsRequest request)
        Parameters:
        request - the request
        Returns:
        the file extension like .bsh for BeanShell.