From eb26e7889c4a0cde477bb79acdd97243bc291792 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 8 Feb 2022 16:36:01 +0100 Subject: [PATCH 1/1] Remove yang-parser-antlr The antlr grammar is an implementation-internal detail which we broke out to keep spotbugs happy. It turns out we can keep it happy with a simple suppression. Move the grammar and eliminate its artifact, making things a bit smoother. JIRA: YANGTOOLS-1395 Change-Id: If6ea5b3f7940423361f115e3f807c7a3ed7b1f67 Signed-off-by: Robert Varga --- artifacts/pom.xml | 5 -- docs/pom.xml | 4 -- parser/pom.xml | 1 - parser/yang-parser-antlr/pom.xml | 56 ------------------- .../src/main/java/module-info.java | 12 ---- parser/yang-parser-rfc7950/pom.xml | 20 +++++-- .../parser/antlr/IfFeatureExpressionLexer.g4 | 0 .../parser/antlr/IfFeatureExpressionParser.g4 | 0 .../yang/parser/antlr/LeafRefPathLexer.g4 | 0 .../yang/parser/antlr/LeafRefPathParser.g4 | 0 .../yang/parser/antlr/YangStatementLexer.g4 | 0 .../yang/parser/antlr/YangStatementParser.g4 | 0 .../src/main/java/module-info.java | 1 - .../yang/parser/antlr/package-info.java | 3 + .../if_feature/IfFeaturePredicateVisitor.java | 1 + 15 files changed, 20 insertions(+), 83 deletions(-) delete mode 100644 parser/yang-parser-antlr/pom.xml delete mode 100644 parser/yang-parser-antlr/src/main/java/module-info.java rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 (100%) rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 (100%) rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 (100%) rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 (100%) rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 (100%) rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 (100%) rename parser/{yang-parser-antlr => yang-parser-rfc7950}/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java (78%) diff --git a/artifacts/pom.xml b/artifacts/pom.xml index 3230ad8855..2b2e54c09e 100644 --- a/artifacts/pom.xml +++ b/artifacts/pom.xml @@ -134,11 +134,6 @@ yang-parser-impl 8.0.0-SNAPSHOT - - org.opendaylight.yangtools - yang-parser-antlr - 8.0.0-SNAPSHOT - org.opendaylight.yangtools yang-parser-rfc7950 diff --git a/docs/pom.xml b/docs/pom.xml index da90607813..36d49c38a1 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -110,10 +110,6 @@ org.opendaylight.yangtools yang-parser-impl - - org.opendaylight.yangtools - yang-parser-antlr - org.opendaylight.yangtools yang-parser-rfc7950 diff --git a/parser/pom.xml b/parser/pom.xml index 54b1e9123c..650f89a3e6 100644 --- a/parser/pom.xml +++ b/parser/pom.xml @@ -41,7 +41,6 @@ - yang-parser-antlr yang-parser-rfc7950 diff --git a/parser/yang-parser-antlr/pom.xml b/parser/yang-parser-antlr/pom.xml deleted file mode 100644 index 2d232df19a..0000000000 --- a/parser/yang-parser-antlr/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - 4.0.0 - - org.opendaylight.yangtools - bundle-parent - 8.0.0-SNAPSHOT - ../../bundle-parent - - - yang-parser-antlr - bundle - ${project.artifactId} - RFC6020/RFC7950 ANTLR grammars - - - - true - - - - - org.antlr - antlr4-runtime - - - - - - - org.antlr - antlr4-maven-plugin - - - - antlr4 - - - - - true - false - - - - - - diff --git a/parser/yang-parser-antlr/src/main/java/module-info.java b/parser/yang-parser-antlr/src/main/java/module-info.java deleted file mode 100644 index 8e44bdab2c..0000000000 --- a/parser/yang-parser-antlr/src/main/java/module-info.java +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -module org.opendaylight.yangtools.yang.parser.antlr { - exports org.opendaylight.yangtools.yang.parser.antlr; - - requires transitive org.antlr.antlr4.runtime; -} diff --git a/parser/yang-parser-rfc7950/pom.xml b/parser/yang-parser-rfc7950/pom.xml index 104110d986..2c5d981335 100644 --- a/parser/yang-parser-rfc7950/pom.xml +++ b/parser/yang-parser-rfc7950/pom.xml @@ -66,10 +66,6 @@ org.opendaylight.yangtools yang-parser-spi - - org.opendaylight.yangtools - yang-parser-antlr - org.opendaylight.yangtools yang-repo-api @@ -101,6 +97,22 @@ + + org.antlr + antlr4-maven-plugin + + + + antlr4 + + + + + + true + false + + org.codehaus.mojo diff --git a/parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 b/parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 similarity index 100% rename from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 rename to parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 diff --git a/parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 b/parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 similarity index 100% rename from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 rename to parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 diff --git a/parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 b/parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 similarity index 100% rename from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 rename to parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 diff --git a/parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 b/parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 similarity index 100% rename from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 rename to parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 diff --git a/parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 b/parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 similarity index 100% rename from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 rename to parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 diff --git a/parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 b/parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 similarity index 100% rename from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 rename to parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 diff --git a/parser/yang-parser-rfc7950/src/main/java/module-info.java b/parser/yang-parser-rfc7950/src/main/java/module-info.java index 9ee69a2b6a..0cba48468a 100644 --- a/parser/yang-parser-rfc7950/src/main/java/module-info.java +++ b/parser/yang-parser-rfc7950/src/main/java/module-info.java @@ -31,7 +31,6 @@ module org.opendaylight.yangtools.yang.parser.rfc7950 { requires org.antlr.antlr4.runtime; requires org.opendaylight.yangtools.openconfig.model.api; requires org.opendaylight.yangtools.yang.model.ri; - requires org.opendaylight.yangtools.yang.parser.antlr; requires org.opendaylight.yangtools.util; requires org.slf4j; diff --git a/parser/yang-parser-antlr/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java similarity index 78% rename from parser/yang-parser-antlr/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java rename to parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java index db9b8a1fe9..2e914d1e64 100644 --- a/parser/yang-parser-antlr/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java +++ b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java @@ -9,4 +9,7 @@ * ANTLR grammars for parsing RFC7950 constructs. This package is considered an implementation detail and does not * fall under API stability contract. Use at your own risk. */ +@SuppressFBWarnings(justification = "Code generated by ANTLR does not pass SpotBugs") package org.opendaylight.yangtools.yang.parser.antlr; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; diff --git a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java index d0777d279a..53c6631a6c 100644 --- a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java +++ b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java @@ -29,6 +29,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; +// FIXME: YANGTOOLS-1396: refactor on top of vanilla IfFeatureExpressionParser @NonNullByDefault final class IfFeaturePredicateVisitor extends IfFeatureExpressionParserBaseVisitor { private final StmtContext stmtCtx; -- 2.36.6