Class JavaCCMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    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
    Version:
    $Id: JavaCCMojo.java 8156 2008-11-26 18:20:19Z bentmann $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String[] excludes
      A set of Ant-like exclusion patterns used to prevent certain files from being processed.
      private java.lang.String[] includes
      A set of Ant-like inclusion patterns used to select files from the source directory for processing.
      private java.io.File outputDirectory
      The directory where the parser files generated by JavaCC will be stored.
      private java.lang.String packageName
      Deprecated.
      As of version 2.4 because the plugin extracts the package name from each grammar file.
      private java.io.File sourceDirectory
      The directory where the JavaCC grammar files (*.jj) are located.
      private int staleMillis
      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
      JavaCCMojo()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.io.File[] getCompileSourceRoots()
      Gets all the output directories to register with the project for compilation.
      protected java.lang.String[] getExcludes()
      Gets a set of Ant-like exclusion patterns used to unselect files from the source directory for processing.
      protected java.lang.String[] getIncludes()
      Gets a set of Ant-like inclusion patterns used to select files from the source directory for processing.
      protected java.io.File getOutputDirectory()
      Gets the absolute path to the directory where the generated Java files for the parser will be stored.
      protected java.lang.String getParserPackage()
      Gets the package into which the generated parser files should be stored.
      protected java.io.File getSourceDirectory()
      Gets the absolute path to the directory where the grammar files are located.
      protected int getStaleMillis()
      Gets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
      protected void processGrammar​(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
    • Field Detail

      • packageName

        private java.lang.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

        private java.io.File sourceDirectory
        The directory where the JavaCC grammar files (*.jj) are located.
      • outputDirectory

        private java.io.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

        private int staleMillis
        The granularity in milliseconds of the last modification date for testing whether a source needs recompilation.
      • includes

        private java.lang.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

        private java.lang.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 Detail

      • JavaCCMojo

        public JavaCCMojo()
    • Method Detail

      • getSourceDirectory

        protected java.io.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 java.lang.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 java.lang.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 java.io.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 testing whether a source needs recompilation.
      • getCompileSourceRoots

        protected java.io.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 java.lang.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.