Make yang-model-api a JPMS module 24/88024/5
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 8 Oct 2020 14:52:54 +0000 (16:52 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 18 Oct 2020 16:43:43 +0000 (18:43 +0200)
This converts yang-model-api to an explicit module, expressing what
it really does. This unfornately exposes the state of affairs re.
JPMS testing and requires us to use explicit opens to get mockito
working.

JIRA: YANGTOOLS-934
Change-Id: I80de90ea903300624e64c57859dc451a59381644
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-model-api/pom.xml
yang/yang-model-api/src/main/java/module-info.java [new file with mode: 0644]

index ab1bb0ade5502d1c21a7eb0ccd946ec83c283fe7..352cf65aaa438b35cab7fffdf3e546d72e9ad257 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.model.api</Automatic-Module-Name>
-                    </instructions>
+                    <argLine>@{argLine}
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.api=ALL-UNNAMED
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.api.meta=ALL-UNNAMED
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.api.stmt=ALL-UNNAMED
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.api.stmt.compat=ALL-UNNAMED
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.api.type=ALL-UNNAMED
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.repo.api=ALL-UNNAMED
+                        --add-opens org.opendaylight.yangtools.yang.model.api/org.opendaylight.yangtools.yang.model.repo.spi=ALL-UNNAMED
+                    </argLine>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/yang/yang-model-api/src/main/java/module-info.java b/yang/yang-model-api/src/main/java/module-info.java
new file mode 100644 (file)
index 0000000..c624954
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * 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.model.api {
+    exports org.opendaylight.yangtools.yang.model.api;
+    exports org.opendaylight.yangtools.yang.model.api.meta;
+    exports org.opendaylight.yangtools.yang.model.api.stmt;
+    exports org.opendaylight.yangtools.yang.model.api.stmt.compat;
+    exports org.opendaylight.yangtools.yang.model.api.type;
+    exports org.opendaylight.yangtools.yang.model.repo.api;
+    exports org.opendaylight.yangtools.yang.model.repo.spi;
+
+    requires transitive org.opendaylight.yangtools.yang.xpath.api;
+
+    requires org.opendaylight.yangtools.util;
+    requires org.slf4j;
+
+    // Annotations
+    requires static org.eclipse.jdt.annotation;
+}