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.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Set<org.apache.maven.artifact.Artifact> dependencies
      The set of dependencies for the current project
      protected java.lang.String encoding
      The file encoding of the source files.
      protected java.util.Set<java.lang.String> extractors
      The role names of mojo extractors to use.
      protected java.lang.String goalPrefix
      The goal prefix that will appear before the ":".
      protected org.apache.maven.artifact.repository.ArtifactRepository local
      Location of the local repository.
      private java.util.List<java.lang.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.
      protected MojoScanner mojoScanner
      The component used for scanning the source tree for mojos.
      protected java.util.List<java.lang.String> packagingTypes
      Maven plugin packaging types.
      protected org.apache.maven.project.MavenProject project
      The project currently being built.
      protected java.util.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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract Generator createGenerator()  
      void execute()
      private java.util.Set<org.apache.maven.artifact.Artifact> filterMojoDependencies()
      Get dependencies filtered with mojoDependencies configuration.
      protected abstract java.io.File getOutputDirectory()  
      • 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 Detail

      • project

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

        @Component
        protected MojoScanner mojoScanner
        The component used for scanning the source tree for mojos.
      • encoding

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

        @Parameter
        protected java.lang.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 java.util.Set<java.lang.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 java.util.Set<org.apache.maven.artifact.Artifact> dependencies
        The set of dependencies for the current project
        Since:
        3.0
      • mojoDependencies

        @Parameter
        private java.util.List<java.lang.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 java.util.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 java.util.List<java.lang.String> packagingTypes
        Maven plugin packaging types. Default is single "maven-plugin".
        Since:
        3.3
    • Constructor Detail

      • AbstractGeneratorMojo

        public AbstractGeneratorMojo()
    • Method Detail

      • getOutputDirectory

        protected abstract java.io.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
      • filterMojoDependencies

        private java.util.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:
        mojoDependencies