Package org.codehaus.mojo.javacc
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
FieldsModifier and TypeFieldDescriptionprivate 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 FileThe directory where the parser files generated by JavaCC will be stored.private StringDeprecated.As of version 2.4 because the plugin extracts the package name from each grammar file.private FileThe directory where the JavaCC grammar files (*.jj) are located.private intThe 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 FileGets the absolute path to the directory where the generated Java files for the parser will be stored.protected StringGets the package into which the generated parser files should be stored.protected FileGets the absolute path to the directory where the grammar files are located.protected intGets the granularity in milliseconds of the last modification date for testing whether a source needs recompilation.protected voidprocessGrammar(GrammarInfo grammarInfo) Passes the specified grammar file through the tool.Methods inherited from class org.codehaus.mojo.javacc.AbstractJavaCCMojo
copyGrammarOutput, deleteTempDirectory, execute, getGrammarEncoding, getIsStatic, getJdkVersion, getTempDirectory, isSourceRoot, newJavaCCMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
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 sourceDirectoryThe directory where the JavaCC grammar files (*.jj) are located. -
outputDirectory
@Parameter(property="javacc.outputDirectory", defaultValue="${project.build.directory}/generated-sources/javacc") private File outputDirectoryThe 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 staleMillisThe granularity in milliseconds of the last modification date for testing whether a source needs recompilation. -
includes
A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, the patterns**/*.jjand**/*.JJare used to select grammar files. -
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
Gets the absolute path to the directory where the grammar files are located.- Specified by:
getSourceDirectoryin classAbstractJavaCCMojo- Returns:
- The absolute path to the directory where the grammar files are located, never
null.
-
getIncludes
Gets a set of Ant-like inclusion patterns used to select files from the source directory for processing.- Specified by:
getIncludesin classAbstractJavaCCMojo- Returns:
- A set of Ant-like inclusion patterns used to select files from the source directory for processing, can
be
nullif all files should be included.
-
getExcludes
Gets a set of Ant-like exclusion patterns used to unselect files from the source directory for processing.- Specified by:
getExcludesin classAbstractJavaCCMojo- Returns:
- A set of Ant-like inclusion patterns used to unselect files from the source directory for processing, can
be
nullif no files should be excluded.
-
getOutputDirectory
Gets the absolute path to the directory where the generated Java files for the parser will be stored.- Specified by:
getOutputDirectoryin classAbstractJavaCCMojo- 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:
getStaleMillisin classAbstractJavaCCMojo- Returns:
- The granularity in milliseconds of the last modification date for testiintng whether a source needs recompilation.
-
getCompileSourceRoots
Gets all the output directories to register with the project for compilation.- Specified by:
getCompileSourceRootsin classAbstractJavaCCMojo- Returns:
- The compile source roots to register with the project, never
null.
-
getParserPackage
Gets the package into which the generated parser files should be stored.- Overrides:
getParserPackagein classAbstractJavaCCMojo- Returns:
- The package into which the generated parser files should be stored, can be
nullto 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:
processGrammarin classAbstractJavaCCMojo- Parameters:
grammarInfo- The grammar info describing the grammar file to process, must not benull.- 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.
-