Class 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 Set<org.apache.maven.artifact.Artifact> dependencies
      The set of dependencies for the current project
      protected String encoding
      The file encoding of the source files.
      protected Set<String> extractors
      The role names of mojo extractors to use.
      protected String goalPrefix
      The goal prefix that will appear before the ":".
      protected org.apache.maven.artifact.repository.ArtifactRepository local
      Location of the local repository.
      protected org.apache.maven.tools.plugin.scanner.MojoScanner mojoScanner
      The component used for scanning the source tree for mojos.
      protected List<String> packagingTypes
      Maven plugin packaging types.
      protected org.apache.maven.project.MavenProject project
      The project currently being built.
      protected List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepos
      List of Remote Repositories used by the resolver
      protected boolean skip
      Set this to "true" to skip invoking any goals or reports of the plugin.
      protected boolean skipErrorNoDescriptorsFound
      By default an exception is throw if no mojo descriptor is found.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Field Detail

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

      • AbstractGeneratorMojo

        public AbstractGeneratorMojo()
    • Method Detail

      • 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