From e19e214725e034ee4b987e5453f5189da6f41e40 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 21 Oct 2020 18:19:18 +0200 Subject: [PATCH] Convert yang-parser-rfc7950 to JPMS With all the preparatory work going in before, this one is quite easy. JIRA: YANGTOOLS-1151 Change-Id: I9ee0d53b32b2fa2e99709cb8425b72d6c3097133 Signed-off-by: Robert Varga --- yang/yang-parser-rfc7950/pom.xml | 10 +- .../src/main/java/module-info.java | 102 ++++++++++++++++++ .../yang/parser/rfc7950/ir/AntlrSupport.java | 4 +- 3 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 yang/yang-parser-rfc7950/src/main/java/module-info.java diff --git a/yang/yang-parser-rfc7950/pom.xml b/yang/yang-parser-rfc7950/pom.xml index df26f55220..79178a250b 100644 --- a/yang/yang-parser-rfc7950/pom.xml +++ b/yang/yang-parser-rfc7950/pom.xml @@ -78,15 +78,15 @@ - org.apache.felix - maven-bundle-plugin + maven-surefire-plugin - - org.opendaylight.yangtools.yang.parser.rfc7950 - + @{argLine} + --add-opens org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.parser.rfc7950.stmt.path=ALL-UNNAMED + + org.codehaus.mojo build-helper-maven-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 index 0000000000..3bcdf03015 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/main/java/module-info.java @@ -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; +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/ir/AntlrSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/ir/AntlrSupport.java index 2dd730d95a..ffcf08dc63 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/ir/AntlrSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/ir/AntlrSupport.java @@ -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); } -- 2.36.6