Class AbstractPreprocessorMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.mojo.javacc.AbstractPreprocessorMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
JJTreeMojo, JTBMojo

public abstract class AbstractPreprocessorMojo extends org.apache.maven.plugin.AbstractMojo
Provides common services for all mojos that preprocess JavaCC grammar files.
Author:
Benjamin Bentmann
  • Field Summary

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

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Registers the configured output directory as a compile source root for the current project.
    protected void
    createTimestamp(org.codehaus.mojo.javacc.GrammarInfo grammarInfo)
    Creates the timestamp file for the specified grammar file.
    void
    Execute the tool.
    protected abstract String[]
    Gets a set of Ant-like exclusion patterns used to unselect files from the source directory for processing.
    protected abstract String[]
    Gets a set of Ant-like inclusion patterns used to select files from the source directory for processing.
    protected abstract File
    Gets the absolute path to the directory where the generated Java files for the parser will be stored.
    protected abstract File
    Gets the absolute path to the directory where the grammar files are located.
    protected abstract int
    Gets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
    protected abstract File
    Gets the absolute path to the directory where the processed input files will be stored for later detection of stale sources.
    protected abstract void
    processGrammar(org.codehaus.mojo.javacc.GrammarInfo grammarInfo)
    Passes the specified grammar file through the tool.

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

    • AbstractPreprocessorMojo

      public AbstractPreprocessorMojo()
  • Method Details

    • getSourceDirectory

      protected abstract File getSourceDirectory()
      Gets the absolute path to the directory where the grammar files are located.
      Returns:
      The absolute path to the directory where the grammar files are located, never null.
    • getIncludes

      protected abstract String[] getIncludes()
      Gets a set of Ant-like inclusion patterns used to select files from the source directory for processing.
      Returns:
      A set of Ant-like inclusion patterns used to select files from the source directory for processing, can be null if all files should be included.
    • getExcludes

      protected abstract String[] getExcludes()
      Gets a set of Ant-like exclusion patterns used to unselect files from the source directory for processing.
      Returns:
      A set of Ant-like inclusion patterns used to unselect files from the source directory for processing, can be null if no files should be excluded.
    • getOutputDirectory

      protected abstract File getOutputDirectory()
      Gets the absolute path to the directory where the generated Java files for the parser will be stored.
      Returns:
      The absolute path to the directory where the generated Java files for the parser will be stored, never null.
    • getTimestampDirectory

      protected abstract File getTimestampDirectory()
      Gets the absolute path to the directory where the processed input files will be stored for later detection of stale sources.
      Returns:
      The absolute path to the directory where the processed input files will be stored for later detection of stale sources, never null.
    • getStaleMillis

      protected abstract int getStaleMillis()
      Gets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
      Returns:
      The granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Execute the tool.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - If the invocation of the tool failed.
      org.apache.maven.plugin.MojoFailureException - If the tool reported a non-zero exit code.
    • processGrammar

      protected abstract void processGrammar(org.codehaus.mojo.javacc.GrammarInfo grammarInfo) throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Passes the specified grammar file through the tool.
      Parameters:
      grammarInfo - The grammar info describing the grammar file to process, must not be null.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - If the invocation of the tool failed.
      org.apache.maven.plugin.MojoFailureException - If the tool reported a non-zero exit code.
    • createTimestamp

      protected void createTimestamp(org.codehaus.mojo.javacc.GrammarInfo grammarInfo)
      Creates the timestamp file for the specified grammar file.
      Parameters:
      grammarInfo - The grammar info describing the grammar file to process, must not be null.
    • addCompileSourceRoot

      protected void addCompileSourceRoot()
      Registers the configured output directory as a compile source root for the current project.