Convert yang-parser-rfc7950 to JPMS 40/93240/16
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 21 Oct 2020 16:19:18 +0000 (18:19 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 22 Oct 2020 10:39:08 +0000 (12:39 +0200)
With all the preparatory work going in before, this one is quite
easy.

JIRA: YANGTOOLS-1151
Change-Id: I9ee0d53b32b2fa2e99709cb8425b72d6c3097133
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/pom.xml
yang/yang-parser-rfc7950/src/main/java/module-info.java [new file with mode: 0644]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/ir/AntlrSupport.java

index df26f5522010142f069032f6402dd68dac99a305..79178a250bf8a73d7a6d08d890af88728d142038 100644 (file)
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
+                <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
-                    <instructions>
-                        <Automatic-Module-Name>org.opendaylight.yangtools.yang.parser.rfc7950</Automatic-Module-Name>
-                    </instructions>
+                    <argLine>@{argLine}
+                        --add-opens org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.parser.rfc7950.stmt.path=ALL-UNNAMED
+                    </argLine>
                 </configuration>
             </plugin>
             <plugin>
+                <!-- FIXME: why is this needed? -->
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>
             </plugin>
diff --git a/yang/yang-parser-rfc7950/src/main/java/module-info.java b/yang/yang-parser-rfc7950/src/main/java/module-info.java
new file mode 100644 (file)
index 0000000..3bcdf03
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2020 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.rfc7950 {
+    // FIXME: audit these, potentially lowering them to their sole user if reasonable
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.antlr;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.ir;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.namespace;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.reactor;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.repo;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt;
+
+    uses org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory;
+
+    requires transitive org.opendaylight.yangtools.yang.parser.api;
+
+    // FIXME: remote this as we reduce our exports
+    requires transitive org.opendaylight.yangtools.yang.parser.spi;
+
+    requires org.opendaylight.yangtools.openconfig.model.api;
+    requires org.opendaylight.yangtools.yang.model.util;
+    requires org.opendaylight.yangtools.yang.parser.antlr;
+    requires org.opendaylight.yangtools.yang.parser.reactor;
+    requires org.opendaylight.yangtools.util;
+    requires org.slf4j;
+
+    // FIXME: hide these
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.action;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anydata;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anyxml;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.argument;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.augment;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.base;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.bit;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.case_;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.choice;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.container;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviate;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviation;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.enum_;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.feature;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.fraction_digits;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.grouping;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.identity;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.import_;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.include;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.input;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.key;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.leaf_list;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.length;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.list;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.max_elements;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.min_elements;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.modifier;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.module;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.must;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.namespace;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.notification;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ordered_by;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.organization;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.output;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.path;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.pattern;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.range;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.refine;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.revision;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.revision_date;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.rpc;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.status;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.submodule;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.typedef;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.unique;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.uses;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.when;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yang_version;
+    exports org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element;
+    // FIXME: this needs to be renamed to match parser-support naming convention
+    exports org.opendaylight.yangtools.yang.parser.openconfig.stmt;
+}
index 2dd730d95a6862b4a08c1123bc7cb7e27f21a4c0..ffcf08dc630e19df7096ad9efef2852b0b414cd3 100644 (file)
@@ -62,7 +62,7 @@ public final class AntlrSupport {
      * @return A new IRStatement
      * @throws NullPointerException if {@code file} is null or it does not contain a root statement
      */
-    public static @NonNull IRStatement createStatement(final FileContext file) {
+    public static @NonNull IRStatement createStatement(@SuppressWarnings("exports") final FileContext file) {
         return createStatement(file.statement());
     }
 
@@ -73,7 +73,7 @@ public final class AntlrSupport {
      * @return A new IRStatement
      * @throws NullPointerException if {@code stmt} is null
      */
-    public static @NonNull IRStatement createStatement(final StatementContext stmt) {
+    public static @NonNull IRStatement createStatement(@SuppressWarnings("exports") final StatementContext stmt) {
         return new AntlrSupport().statementOf(stmt);
     }