Remove yang-parser-antlr 57/99657/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 8 Feb 2022 15:36:01 +0000 (16:36 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 8 Feb 2022 15:42:58 +0000 (16:42 +0100)
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 <robert.varga@pantheon.tech>
15 files changed:
artifacts/pom.xml
docs/pom.xml
parser/pom.xml
parser/yang-parser-antlr/pom.xml [deleted file]
parser/yang-parser-antlr/src/main/java/module-info.java [deleted file]
parser/yang-parser-rfc7950/pom.xml
parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 [moved from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionLexer.g4 with 100% similarity]
parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 [moved from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/IfFeatureExpressionParser.g4 with 100% similarity]
parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 [moved from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathLexer.g4 with 100% similarity]
parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 [moved from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/LeafRefPathParser.g4 with 100% similarity]
parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 [moved from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementLexer.g4 with 100% similarity]
parser/yang-parser-rfc7950/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 [moved from parser/yang-parser-antlr/src/main/antlr4/org/opendaylight/yangtools/yang/parser/antlr/YangStatementParser.g4 with 100% similarity]
parser/yang-parser-rfc7950/src/main/java/module-info.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java [moved from parser/yang-parser-antlr/src/main/java/org/opendaylight/yangtools/yang/parser/antlr/package-info.java with 78% similarity]
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/IfFeaturePredicateVisitor.java

index 3230ad88550dedd2c1a663b375e87af562d60774..2b2e54c09e932c7bb977ee3be08b22e7ace4f065 100644 (file)
                 <artifactId>yang-parser-impl</artifactId>
                 <version>8.0.0-SNAPSHOT</version>
             </dependency>
-            <dependency>
-                <groupId>org.opendaylight.yangtools</groupId>
-                <artifactId>yang-parser-antlr</artifactId>
-                <version>8.0.0-SNAPSHOT</version>
-            </dependency>
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yang-parser-rfc7950</artifactId>
index da90607813abee67102a8e7fa5e6fe177dca1943..36d49c38a1566258c32031fc0e2188766863b920 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-parser-impl</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.yangtools</groupId>
-            <artifactId>yang-parser-antlr</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-parser-rfc7950</artifactId>
index 54b1e9123c40ce162f03c72764cb7d53be5e8bda..650f89a3e61df4e46a2372eb036d93027645a30e 100644 (file)
@@ -41,7 +41,6 @@
 
         <!-- Combined RFC6020/RFC7960 metamodel implementation. Also includes support
              for OpenConfig's semantic-version extension. -->
-        <module>yang-parser-antlr</module>
         <module>yang-parser-rfc7950</module>
 
         <!-- Support for IETF YANG extensions -->
diff --git a/parser/yang-parser-antlr/pom.xml b/parser/yang-parser-antlr/pom.xml
deleted file mode 100644 (file)
index 2d232df..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
- Copyright (c) 2013 Cisco Systems, Inc. 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
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.opendaylight.yangtools</groupId>
-        <artifactId>bundle-parent</artifactId>
-        <version>8.0.0-SNAPSHOT</version>
-        <relativePath>../../bundle-parent</relativePath>
-    </parent>
-
-    <artifactId>yang-parser-antlr</artifactId>
-    <packaging>bundle</packaging>
-    <name>${project.artifactId}</name>
-    <description>RFC6020/RFC7950 ANTLR grammars</description>
-
-    <properties>
-        <!-- antlr-generated code does not pass SB -->
-        <odlparent.spotbugs.skip>true</odlparent.spotbugs.skip>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.antlr</groupId>
-            <artifactId>antlr4-runtime</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.antlr</groupId>
-                <artifactId>antlr4-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>antlr4</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <visitor>true</visitor>
-                    <listener>false</listener>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
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 (file)
index 8e44bda..0000000
+++ /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;
-}
index 104110d9866a9b91a5009127857f0ce4de04e63d..2c5d981335ec86ccf43ef1abf734dcf5fe2c0e2e 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-parser-spi</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.opendaylight.yangtools</groupId>
-            <artifactId>yang-parser-antlr</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-repo-api</artifactId>
 
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>antlr4</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <!-- FIXME: YANGTOOLS-1396: disable visitors -->
+                    <visitor>true</visitor>
+                    <listener>false</listener>
+                </configuration>
+            </plugin>
             <plugin>
                 <!-- FIXME: why is this needed? -->
                 <groupId>org.codehaus.mojo</groupId>
index 9ee69a2b6af2ea2c95a9ab1652ab991ceb668b1e..0cba48468a6038e61df40c857ac959ef3e39a6ef 100644 (file)
@@ -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;
 
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 db9b8a1fe9700172b70714c7d44a8f3c6399ac25..2e914d1e64714fdefc70c6da0f4442be35992bc0 100644 (file)
@@ -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;
index d0777d279a3d80f95e0fd5f04cca32f2cc852135..53c6631a6cc70166f1bf91551545c7fbba3b06ae 100644 (file)
@@ -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<IfFeatureExpr> {
     private final StmtContext<?, ?, ?> stmtCtx;