Package org.antlr.mojo.antlr4
Class Antlr4Mojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.antlr.mojo.antlr4.Antlr4Mojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="antlr4", defaultPhase=GENERATE_SOURCES, requiresDependencyResolution=COMPILE, requiresProject=true, threadSafe=true) public class Antlr4Mojo extends org.apache.maven.plugin.AbstractMojoParses ANTLR 4 grammar files*.g4and transforms them into Java source files.- Author:
- Sam Harwell
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.lang.String>argumentsA list of additional command line arguments to pass to the ANTLR tool.protected booleanatnIf set to true then the ANTLR tool will generate a description of the ATN for each rule in Dot format.protected java.util.Set<java.lang.String>excludesA set of Ant-like exclusion patterns used to prevent certain files from being processed.protected booleanforceATNUse the ATN simulator for all predictions.protected java.util.Set<java.lang.String>includesProvides an explicit list of all the grammars that should be included in the generate phase of the plugin.protected java.lang.StringinputEncodingspecify grammar file encoding; e.g., euc-jpprotected booleanlistenerGenerate parse tree listener interface and base class.protected java.util.Map<java.lang.String,java.lang.String>optionsA list of grammar options to explicitly specify to the tool.protected java.lang.StringoutputEncodingspecify output file encoding; defaults to source encodingprotected org.apache.maven.project.MavenProjectprojectThe current Maven project.protected org.antlr.v4.TooltoolAn instance of the ANTLR tool buildprotected booleantreatWarningsAsErrorsTreat warnings as errors.protected booleanvisitorGenerate parse tree visitor interface and base class.
-
Constructor Summary
Constructors Constructor Description Antlr4Mojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute()The main entry point for this Mojo, it is responsible for converting ANTLR 4.x grammars into the target language specified by the grammar.java.util.Set<java.lang.String>getIncludesPatterns()java.io.FilegetLibDirectory()java.io.FilegetOutputDirectory()java.io.FilegetSourceDirectory()
-
-
-
Field Detail
-
atn
@Parameter(property="antlr4.atn", defaultValue="false") protected boolean atnIf set to true then the ANTLR tool will generate a description of the ATN for each rule in Dot format.
-
inputEncoding
@Parameter(property="project.build.sourceEncoding") protected java.lang.String inputEncoding
specify grammar file encoding; e.g., euc-jp
-
outputEncoding
@Parameter(property="project.build.sourceEncoding") protected java.lang.String outputEncoding
specify output file encoding; defaults to source encoding
-
listener
@Parameter(property="antlr4.listener", defaultValue="true") protected boolean listenerGenerate parse tree listener interface and base class.
-
visitor
@Parameter(property="antlr4.visitor", defaultValue="false") protected boolean visitorGenerate parse tree visitor interface and base class.
-
treatWarningsAsErrors
@Parameter(property="antlr4.treatWarningsAsErrors", defaultValue="false") protected boolean treatWarningsAsErrorsTreat warnings as errors.
-
forceATN
@Parameter(property="antlr4.forceATN", defaultValue="false") protected boolean forceATNUse the ATN simulator for all predictions.
-
options
@Parameter protected java.util.Map<java.lang.String,java.lang.String> options
A list of grammar options to explicitly specify to the tool. These options are passed to the tool using the-D<option>=<value>syntax.
-
arguments
@Parameter protected java.util.List<java.lang.String> arguments
A list of additional command line arguments to pass to the ANTLR tool.
-
includes
@Parameter protected java.util.Set<java.lang.String> includes
Provides an explicit list of all the grammars that should be included in the generate phase of the plugin. Note that the plugin is smart enough to realize that imported grammars should be included but not acted upon directly by the ANTLR Tool.A set of Ant-like inclusion patterns used to select files from the source directory for processing. By default, the pattern
**/*.g4is used to select grammar files.
-
excludes
@Parameter protected java.util.Set<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.
-
project
@Parameter(property="project", required=true, readonly=true) protected org.apache.maven.project.MavenProject projectThe current Maven project.
-
tool
protected org.antlr.v4.Tool tool
An instance of the ANTLR tool build
-
-
Method Detail
-
getSourceDirectory
public java.io.File getSourceDirectory()
-
getOutputDirectory
public java.io.File getOutputDirectory()
-
getLibDirectory
public java.io.File getLibDirectory()
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureExceptionThe main entry point for this Mojo, it is responsible for converting ANTLR 4.x grammars into the target language specified by the grammar.- Throws:
org.apache.maven.plugin.MojoExecutionException- if a configuration or grammar error causes the code generation process to failorg.apache.maven.plugin.MojoFailureException- if an instance of the ANTLR 4Toolcannot be created
-
getIncludesPatterns
public java.util.Set<java.lang.String> getIncludesPatterns()
-
-