Plugin to work around include-files issue with AntlrTask


License

License

Categories

Categories

Gradle Build Tools Ant ANTLR Compiler-compiler
GroupId

GroupId

org.caffinitas.gradle.antlr
ArtifactId

ArtifactId

org.caffinitas.gradle.antlr.gradle.plugin
Last Version

Last Version

0.1.1
Release Date

Release Date

Type

Type

pom
Description

Description

Plugin to work around include-files issue with AntlrTask
Plugin to work around include-files issue with AntlrTask
Project URL

Project URL

https://github.com/snazy/gradle-antlr/
Source Code Management

Source Code Management

https://github.com/snazy/gradle-antlr/

Download org.caffinitas.gradle.antlr.gradle.plugin

How to add to project

<!-- https://jarcasting.com/artifacts/org.caffinitas.gradle.antlr/org.caffinitas.gradle.antlr.gradle.plugin/ -->
<dependency>
    <groupId>org.caffinitas.gradle.antlr</groupId>
    <artifactId>org.caffinitas.gradle.antlr.gradle.plugin</artifactId>
    <version>0.1.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/org.caffinitas.gradle.antlr/org.caffinitas.gradle.antlr.gradle.plugin/
implementation 'org.caffinitas.gradle.antlr:org.caffinitas.gradle.antlr.gradle.plugin:0.1.1'
// https://jarcasting.com/artifacts/org.caffinitas.gradle.antlr/org.caffinitas.gradle.antlr.gradle.plugin/
implementation ("org.caffinitas.gradle.antlr:org.caffinitas.gradle.antlr.gradle.plugin:0.1.1")
'org.caffinitas.gradle.antlr:org.caffinitas.gradle.antlr.gradle.plugin:pom:0.1.1'
<dependency org="org.caffinitas.gradle.antlr" name="org.caffinitas.gradle.antlr.gradle.plugin" rev="0.1.1">
  <artifact name="org.caffinitas.gradle.antlr.gradle.plugin" type="pom" />
</dependency>
@Grapes(
@Grab(group='org.caffinitas.gradle.antlr', module='org.caffinitas.gradle.antlr.gradle.plugin', version='0.1.1')
)
libraryDependencies += "org.caffinitas.gradle.antlr" % "org.caffinitas.gradle.antlr.gradle.plugin" % "0.1.1"
[org.caffinitas.gradle.antlr/org.caffinitas.gradle.antlr.gradle.plugin "0.1.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.caffinitas.gradle.antlr : gradle-antlr jar 0.1.1

Project Modules

There are no modules declared in this project.

Plugin to work around these issues in the built-in AntlrTask in Gradle. The code works with Gradle 6.4.x and newer, it might work with earlier Gradle versions.

See these Gradle issues:

Usage:

plugins {
    id("org.caffinitas.gradle.antlr") version "0.1"
}

The plugin disables all existing AntlrTasks. You need to register new tasks of the type CAntlrTask like this:

import org.caffinitas.gradle.antlr.CAntlrTask

val generateGrammarSourceCassandra by tasks.registering(CAntlrTask::class) {
    // find the "original" task and copy the configuration from that one
    val antlrTask = tasks.getByName("generateGrammarSource", AntlrTask::class)
    configureFrom(antlrTask)

    // add custom configurations (same as for the original AntlrTask)

    // specify the include files
    includeFiles = setOf("Lexer.g", "Parser.g")
}

Note: you cannot reuse a task name created by Gradle's built-in antlr-plugin.

Versions

Version
0.1.1
0.1