AntlrTask

API Documentation:AntlrTask

Generates parsers from Antlr grammars.

Most properties here are self-evident, but I wanted to highlight one in particular: AntlrTask.setAntlrClasspath() is used to define the classpath that should be passed along to the Ant org.apache.tools.ant.taskdefs.optional.ANTLR task as its classpath. That is the classpath it uses to perform generation execution. This should really only require the antlr jar. In AntlrPlugin usage, this would happen simply by adding your antlr jar into the 'antlr' dependency configuration created and exposed by the AntlrPlugin itself.

Properties

PropertyDescription
antlrClasspath

The classpath containing the Ant ANTLR task implementation.

excludes

The set of exclude patterns.

includes

The set of include patterns.

outputDirectory

The directory to generate the parser source files into.

source

The source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

trace

Specifies that all rules call traceIn/traceOut.

traceLexer

Specifies that all lexer rules call traceIn/traceOut.

traceParser

Specifies that all parser rules call traceIn/traceOut.

traceTreeWalker

Specifies that all tree walker rules call traceIn/traceOut.

Methods

MethodDescription
exclude(excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:

exclude(excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

exclude(excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

exclude(excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

include(includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

include(includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

include(includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

include(includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

source(sources)

Adds some source to this task. The given source objects will be evaluated as per Project.files().

Script blocks

No script blocks

Property details

FileCollection antlrClasspath

The classpath containing the Ant ANTLR task implementation.

Default with antlr plugin:
project.configurations.antlr

Set<String> excludes

The set of exclude patterns.

Set<String> includes

The set of include patterns.

File outputDirectory

The directory to generate the parser source files into.

Default with antlr plugin:
${project.buildDir}/generated-src/antlr/${sourceSet.name}

FileTree source

The source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

boolean trace

Specifies that all rules call traceIn/traceOut.

Default with antlr plugin:
false

boolean traceLexer

Specifies that all lexer rules call traceIn/traceOut.

Default with antlr plugin:
false

boolean traceParser

Specifies that all parser rules call traceIn/traceOut.

Default with antlr plugin:
false

boolean traceTreeWalker

Specifies that all tree walker rules call traceIn/traceOut.

Default with antlr plugin:
false

Method details

SourceTask exclude(Closure excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:

copySpec {
  from 'source'
  into 'destination'
  //an example of excluding files from certain configuration:
  exclude { it.file in configurations.someConf.files }
}

If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(Iterable<String> excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(String... excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(Spec<FileTreeElement> excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask include(Closure includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

SourceTask include(Iterable<String> includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

SourceTask include(String... includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

SourceTask include(Spec<FileTreeElement> includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

SourceTask source(Object... sources)

Adds some source to this task. The given source objects will be evaluated as per Project.files().