Class JavaCCMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.mojo.javacc.AbstractJavaCCMojo
org.codehaus.mojo.javacc.JavaCCMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="javacc", defaultPhase=GENERATE_SOURCES) public class JavaCCMojo extends AbstractJavaCCMojo
Parses a JavaCC grammar file (*.jj) and transforms it to Java source files. Detailed information about the JavaCC options can be found on the JavaCC website.
Since:
2.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private String[]
    A set of Ant-like exclusion patterns used to prevent certain files from being processed.
    private String[]
    A set of Ant-like inclusion patterns used to select files from the source directory for processing.
    private File
    The directory where the parser files generated by JavaCC will be stored.
    private String
    Deprecated.
    As of version 2.4 because the plugin extracts the package name from each grammar file.
    private File
    The directory where the JavaCC grammar files (*.jj) are located.
    private int
    The granularity in milliseconds of the last modification date for testing whether a source needs recompilation.

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

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected File[]
    Gets all the output directories to register with the project for compilation.
    protected String[]
    Gets a set of Ant-like exclusion patterns used to unselect files from the source directory for processing.
    protected String[]
    Gets a set of Ant-like inclusion patterns used to select files from the source directory for processing.
    protected File
    Gets the absolute path to the directory where the generated Java files for the parser will be stored.
    protected String
    Gets the package into which the generated parser files should be stored.
    protected File
    Gets the absolute path to the directory where the grammar files are located.
    protected int
    Gets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
    protected void
    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
  • Field Details

    • packageName

      @Parameter(property="javacc.packageName") private String packageName
      Deprecated.
      As of version 2.4 because the plugin extracts the package name from each grammar file.
      Package into which the generated classes will be put. Note that this will also be used to create the directory structure where sources will be generated. Defaults to the package name specified in a grammar file.
    • sourceDirectory

      @Parameter(property="javacc.sourceDirectory", defaultValue="${basedir}/src/main/javacc") private File sourceDirectory
      The directory where the JavaCC grammar files (*.jj) are located.
    • outputDirectory

      @Parameter(property="javacc.outputDirectory", defaultValue="${project.build.directory}/generated-sources/javacc") private File outputDirectory
      The directory where the parser files generated by JavaCC will be stored. The directory will be registered as a compile source root of the project such that the generated files will participate in later build phases like compiling and packaging.
    • staleMillis

      @Parameter(property="javacc.lastModGranularityMs", defaultValue="0") private int staleMillis
      The granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
    • includes

      @Parameter private String[] includes
      A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, the patterns **/*.jj and **/*.JJ are used to select grammar files.
    • excludes

      @Parameter private String[] excludes
      A set of Ant-like exclusion patterns used to prevent certain files from being processed. By default, this set is empty such that no files are excluded.
  • Constructor Details

    • JavaCCMojo

      public JavaCCMojo()
  • Method Details

    • getSourceDirectory

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

      protected String[] getIncludes()
      Gets a set of Ant-like inclusion patterns used to select files from the source directory for processing.
      Specified by:
      getIncludes in class AbstractJavaCCMojo
      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 String[] getExcludes()
      Gets a set of Ant-like exclusion patterns used to unselect files from the source directory for processing.
      Specified by:
      getExcludes in class AbstractJavaCCMojo
      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 File getOutputDirectory()
      Gets the absolute path to the directory where the generated Java files for the parser will be stored.
      Specified by:
      getOutputDirectory in class AbstractJavaCCMojo
      Returns:
      The absolute path to the directory where the generated Java files for the parser will be stored, never null.
    • getStaleMillis

      protected int getStaleMillis()
      Gets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
      Specified by:
      getStaleMillis in class AbstractJavaCCMojo
      Returns:
      The granularity in milliseconds of the last modification date for testiintng whether a source needs recompilation.
    • getCompileSourceRoots

      protected File[] getCompileSourceRoots()
      Gets all the output directories to register with the project for compilation.
      Specified by:
      getCompileSourceRoots in class AbstractJavaCCMojo
      Returns:
      The compile source roots to register with the project, never null.
    • getParserPackage

      protected String getParserPackage()
      Gets the package into which the generated parser files should be stored.
      Overrides:
      getParserPackage in class AbstractJavaCCMojo
      Returns:
      The package into which the generated parser files should be stored, can be null to use the package declaration from the grammar file.
    • processGrammar

      protected void processGrammar(GrammarInfo grammarInfo) throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Passes the specified grammar file through the tool.
      Specified by:
      processGrammar in class AbstractJavaCCMojo
      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.