gradle-antlr-plsql-plugin provides preconfigured XML AST task support for PL/SQL parsing workflows.
It builds on name.jurgenei.gradle.antlr and offers task defaults tailored for PlSqlLexer/PlSqlParser use cases.
- Convert large PL/SQL corpora to XML AST for lineage extraction
- Validate parser compatibility in CI against benchmark SQL files
- Run parser checks with sensible defaults and minimal Gradle setup
- Keep conversion as first-class Gradle tasks (repeatable and automatable)
plugins {
id 'name.jurgenei.gradle.antlr.plsql' version '0.1.1'
}Plugin Portal page: https://plugins.gradle.org/plugin/name.jurgenei.gradle.antlr.plsql
Legacy id remains available for compatibility:
plugins {
id 'name.jurgenei.grammars.plsql' version '0.1.1'
}XmlAstPlsqlGradleTasktask typeplsqlXmlAstpre-registered task- Runtime classpath and
classesdependency wiring whenjavaplugin is present
Default task conventions:
grammar = plsqlparserClassName = name.jurgenei.parsers.PlSqlParserlexerClassName = name.jurgenei.parsers.PlSqlLexerstartRule = scriptincludes = ['**/*.sql', '**/*.pks', '**/*.pkb', '**/*.pls']
plugins {
id 'java'
id 'name.jurgenei.gradle.antlr.plsql' version '0.1.1'
}
tasks.named('plsqlXmlAst', name.jurgenei.grammars.plsql.XmlAstPlsqlGradleTask) {
sourceDirectory.set(layout.projectDirectory.dir('src/test/resources/plsql'))
destinationDirectory.set(layout.buildDirectory.dir('xmlast-plsql'))
targetExtension.set('.xml')
continueOnError.set(true)
}Run:
./gradlew plsqlXmlAst./gradlew clean check plsqlXmlAstSupporting tasks commonly used in this repository:
generateLexerSourcesgenerateParserSourcescompileAntlrSourcesverifyGrammarSourcesxmlast(wrapper task for sample conversions)
This project follows the renamed repository convention from grammar modules to Gradle plugin naming:
- previous:
https://github.com/jurgenei/antlr-grammars-plsql - current:
https://github.com/jurgenei/gradle-antlr-plsql-plugin
./gradlew clean test
./gradlew publishToMavenLocalClassNotFoundExceptionfor parser/lexer classes:- Ensure
compileAntlrSourcesran - Ensure runtime classpath includes generated classes
- Ensure
- Parse starts but no output files:
- Verify
sourceDirectoryandincludes - Set
force = truefor a full pass
- Verify
- Start rule issues:
- Confirm parser entry method exists (default is
script)
- Confirm parser entry method exists (default is