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 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.
      • 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 Generator createGenerator()
        Returns:
        the wanted Generator implementation.
      • execute

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