Class AbstractGeneratorMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugin.plugin.AbstractGeneratorMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
DescriptorGeneratorMojo, HelpGeneratorMojo

public abstract class AbstractGeneratorMojo extends org.apache.maven.plugin.AbstractMojo
Abstract class for this Plugin.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Set<org.apache.maven.artifact.Artifact>
    The set of dependencies for the current project
    protected String
    The file encoding of the source files.
    protected Set<String>
    The role names of mojo extractors to use.
    protected String
    The goal prefix that will appear before the ":".
    protected org.apache.maven.artifact.repository.ArtifactRepository
    Location of the local repository.
    private List<String>
    Specify the dependencies as groupId:artifactId containing (abstract) Mojos, to filter dependencies scanned at runtime and focus on dependencies that are really useful to Mojo analysis.
    protected org.apache.maven.tools.plugin.scanner.MojoScanner
    The component used for scanning the source tree for mojos.
    protected List<String>
    Maven plugin packaging types.
    protected org.apache.maven.project.MavenProject
    The project currently being built.
    protected List<org.apache.maven.artifact.repository.ArtifactRepository>
    List of Remote Repositories used by the resolver
    protected boolean
    Set this to "true" to skip invoking any goals or reports of the plugin.
    protected boolean
    By default an exception is throw if no mojo descriptor is found.

    Fields inherited from interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract org.apache.maven.tools.plugin.generator.Generator
     
    void
    private Set<org.apache.maven.artifact.Artifact>
    Get dependencies filtered with mojoDependencies configuration.
    protected abstract File
     

    Methods inherited from class org.apache.maven.plugin.AbstractMojo

    getLog, getPluginContext, setLog, setPluginContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • project

      @Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject project
      The project currently being built.
    • mojoScanner

      @Component protected org.apache.maven.tools.plugin.scanner.MojoScanner mojoScanner
      The component used for scanning the source tree for mojos.
    • encoding

      @Parameter(property="encoding", defaultValue="${project.build.sourceEncoding}") protected String encoding
      The file encoding of the source files.
      Since:
      2.5
    • goalPrefix

      @Parameter protected String goalPrefix
      The goal prefix that will appear before the ":".
    • skipErrorNoDescriptorsFound

      @Parameter(property="maven.plugin.skipErrorNoDescriptorsFound", defaultValue="false") protected boolean skipErrorNoDescriptorsFound
      By default an exception is throw if no mojo descriptor is found. As the maven-plugin is defined in core, the descriptor generator mojo is bound to generate-resources phase. But for annotations, the compiled classes are needed, so skip error
      Since:
      3.0
    • extractors

      @Parameter protected Set<String> extractors

      The role names of mojo extractors to use.

      If not set, all mojo extractors will be used. If set to an empty extractor name, no mojo extractors will be used.

      Example:
        <!-- Use all mojo extractors -->
        <extractors/>
      
        <!-- Use no mojo extractors -->
        <extractors>
            <extractor/>
        </extractors>
      
        <!-- Use only bsh mojo extractor -->
        <extractors>
            <extractor>bsh</extractor>
        </extractors>
       
    • skip

      @Parameter(defaultValue="false", property="maven.plugin.skip") protected boolean skip
      Set this to "true" to skip invoking any goals or reports of the plugin.
      Since:
      2.8
    • dependencies

      @Parameter(defaultValue="${project.artifacts}", required=true, readonly=true) protected Set<org.apache.maven.artifact.Artifact> dependencies
      The set of dependencies for the current project
      Since:
      3.0
    • mojoDependencies

      @Parameter private List<String> mojoDependencies
      Specify the dependencies as groupId:artifactId containing (abstract) Mojos, to filter dependencies scanned at runtime and focus on dependencies that are really useful to Mojo analysis. By default, the value is null and all dependencies are scanned (as before this parameter was added). If specified in the configuration with no children, no dependencies are scanned.
      Since:
      3.5
    • remoteRepos

      @Parameter(defaultValue="${project.remoteArtifactRepositories}", required=true, readonly=true) protected List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepos
      List of Remote Repositories used by the resolver
      Since:
      3.0
    • local

      @Parameter(defaultValue="${localRepository}", required=true, readonly=true) protected org.apache.maven.artifact.repository.ArtifactRepository local
      Location of the local repository.
      Since:
      3.0
    • packagingTypes

      @Parameter protected List<String> packagingTypes
      Maven plugin packaging types. Default is single "maven-plugin".
      Since:
      3.3
  • Constructor Details

    • AbstractGeneratorMojo

      public AbstractGeneratorMojo()
  • Method Details

    • getOutputDirectory

      protected abstract File getOutputDirectory()
      Returns:
      the output directory where files will be generated.
    • createGenerator

      protected abstract org.apache.maven.tools.plugin.generator.Generator createGenerator()
      Returns:
      the wanted Generator implementation.
    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • filterMojoDependencies

      private Set<org.apache.maven.artifact.Artifact> filterMojoDependencies()
      Get dependencies filtered with mojoDependencies configuration.
      Returns:
      eventually filtered dependencies, or even null if configured with empty mojoDependencies list
      See Also: