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.
Author:
Jason van Zyl
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.sonatype.plexus.build.incremental.BuildContext
     
    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.
    protected 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 Generator
     
    void
    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

      The component used for scanning the source tree for mojos.
    • buildContext

      @Component protected org.sonatype.plexus.build.incremental.BuildContext buildContext
    • encoding

      @Parameter(property="encoding", defaultValue="${project.build.sourceEncoding}") protected String encoding
      The file encoding of the source files.
      Since:
      2.5
    • 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

      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
    • 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

      Maven plugin packaging types. Default is single "maven-plugin".
      Since:
      3.3
  • Constructor Details

  • Method Details

    • getOutputDirectory

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

      protected abstract Generator createGenerator()
      Returns:
      the wanted Generator implementation.
    • execute

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