[Git][java-team/jboss-modules][upstream] New upstream version 2.0.3

Markus Koschany (@apo) gitlab at salsa.debian.org
Fri Jun 10 11:48:52 BST 2022



Markus Koschany pushed to branch upstream at Debian Java Maintainers / jboss-modules


Commits:
48f9a72a by Markus Koschany at 2022-06-10T00:19:35+02:00
New upstream version 2.0.3
- - - - -


9 changed files:

- pom.xml
- + src/main/java/module-info.yml
- src/main/java/org/jboss/modules/Main.java
- src/main/java/org/jboss/modules/xml/ModuleXmlParser.java
- src/main/java/org/jboss/modules/xml/PolicyExpander.java
- src/test/java/org/jboss/modules/LocalModuleLoaderTest.java
- src/test/java/org/jboss/modules/xml/PermissionsTest.java
- src/test/resources/test/repo/test/permissions/main/module.xml
- + src/test/resources/test/repo/test/permissions/main/substituted_value/active.txt


Changes:

=====================================
pom.xml
=====================================
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.jboss.modules</groupId>
     <artifactId>jboss-modules</artifactId>
-    <version>2.0.2.Final</version>
+    <version>2.0.3.Final</version>
     <name>JBoss Modules</name>
 
     <parent>
@@ -48,7 +48,9 @@
     <properties>
         <skip.compile>false</skip.compile>
         <version.org.wildfly.checkstyle-config>1.0.5.Final</version.org.wildfly.checkstyle-config>
-        <version.bridger>1.4.Final</version.bridger>
+        <version.bridger>1.6.Final</version.bridger>
+        <version.module-info.plugin>1.2</version.module-info.plugin>
+        <version.surefire.plugin>3.0.0-M6</version.surefire.plugin>
 
         <jdk.min.version>9</jdk.min.version>
     </properties>
@@ -282,6 +284,23 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <!-- Module info -->
+            <plugin>
+                <groupId>io.github.dmlloyd.module-info</groupId>
+                <artifactId>module-info</artifactId>
+                <version>${version.module-info.plugin}</version>
+                <executions>
+                    <execution>
+                        <id>module-info</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
         </plugins>
     </build>
     <dependencies>


=====================================
src/main/java/module-info.yml
=====================================
@@ -0,0 +1,7 @@
+name: org.jboss.modules
+
+# additional services
+uses:
+  - java.util.logging.LogManager
+  - java.util.prefs.PreferencesFactory
+  - javax.management.MBeanServerBuilder
\ No newline at end of file


=====================================
src/main/java/org/jboss/modules/Main.java
=====================================
@@ -302,16 +302,6 @@ public final class Main {
             System.exit(1);
         }
 
-        if (depTree) {
-            DependencyTreeViewer.print(new PrintWriter(System.out), nameArgument, LocalModuleFinder.getRepoRoots(true));
-            System.exit(0);
-        }
-
-        if(debuglog) {
-            // Install the StreamModuleLogger on System.out to capture bootstrap messages
-            Module.setModuleLogger(new StreamModuleLogger(System.out));
-        }
-
         final ModuleLoader loader;
         final ModuleLoader environmentLoader;
         environmentLoader = DefaultBootModuleLoaderHolder.INSTANCE;
@@ -349,6 +339,16 @@ public final class Main {
         }
         Module.initBootModuleLoader(environmentLoader);
 
+        if (depTree) {
+            DependencyTreeViewer.print(new PrintWriter(System.out), nameArgument, LocalModuleFinder.getRepoRoots(true));
+            System.exit(0);
+        }
+
+        if(debuglog) {
+            // Install the StreamModuleLogger on System.out to capture bootstrap messages
+            Module.setModuleLogger(new StreamModuleLogger(System.out));
+        }
+
         if (moduleName == null) {
             return;
         }


=====================================
src/main/java/org/jboss/modules/xml/ModuleXmlParser.java
=====================================
@@ -87,7 +87,6 @@ import static org.jboss.modules.xml.XmlPullParser.TEXT;
 public final class ModuleXmlParser {
 
     static final ModuleDependencySpec DEP_JAVA_SE = new ModuleDependencySpecBuilder().setName("java.se").build();
-    static final ModuleDependencySpec DEP_JDK_UNSUPPORTED = new ModuleDependencySpecBuilder().setName("jdk.unsupported").setOptional(true).build();
 
     /**
      * A factory for resource roots, based on a root path, loader path, and loader name.  Normally it is sufficient to
@@ -668,7 +667,6 @@ public final class ModuleXmlParser {
         if (! is1_8) {
             // add default system dependencies
             specBuilder.addDependency(DEP_JAVA_SE);
-            specBuilder.addDependency(DEP_JDK_UNSUPPORTED);
         }
         Set<String> visited = new HashSet<>();
         int eventType;
@@ -1095,7 +1093,7 @@ public final class ModuleXmlParser {
             required.remove(attribute);
             switch (attribute) {
                 case A_NAME: if (!is1_8) name = reader.getAttributeValue(i); else throw unknownAttribute(reader, i); break;
-                case A_PATH: path = reader.getAttributeValue(i); break;
+                case A_PATH: path = PolicyExpander.expand(reader.getAttributeValue(i)); break;
                 default: throw unknownAttribute(reader, i);
             }
         }


=====================================
src/main/java/org/jboss/modules/xml/PolicyExpander.java
=====================================
@@ -28,8 +28,7 @@ import java.security.PrivilegedAction;
  *
  * @author <a href="mailto:jshepherd at redhat.com">Jason Shepherd</a>
  */
-
-class PolicyExpander {
+final class PolicyExpander {
 
     private static final int INITIAL = 0;
     private static final int GOT_DOLLAR = 1;
@@ -38,7 +37,11 @@ class PolicyExpander {
     private static final int GOT_FILE_SEPERATOR = 4;
     public static final String ENV_START = "env.";
 
-    public static String expand(String input){
+    private PolicyExpander() {
+        // forbidden instantiation
+    }
+
+    static String expand(final String input) {
         StringBuilder valueToReturn = new StringBuilder();
         int state = INITIAL;
         int propStart = -1;
@@ -126,14 +129,23 @@ class PolicyExpander {
     private static void expandValue(String input, StringBuilder valueToReturn, int valueStart, int offset){
         final String value = input.substring(valueStart, offset);
         if(value.startsWith(ENV_START)){
+            // 'env.' prefix is optional - and supported due to backward compatibility
             String var = getEnvironmentVariable(value.substring(ENV_START.length()));
             if(var != null)
                 valueToReturn.append(var);
             return;
         }
+        // System properties first
         String prop = getSystemProperty(value);
-        if(prop != null)
+        if(prop != null) {
             valueToReturn.append(prop);
+            return;
+        }
+        // Environment variables second (some users may prefer to not specify 'env.' prefix)
+        prop = getEnvironmentVariable(value);
+        if(prop != null) {
+            valueToReturn.append(prop);
+        }
     }
 
     private static String getEnvironmentVariable(String key) {


=====================================
src/test/java/org/jboss/modules/LocalModuleLoaderTest.java
=====================================
@@ -39,6 +39,7 @@ public class LocalModuleLoaderTest extends AbstractModuleTestCase {
     @Before
     public void setupModuleLoader() throws Exception {
         final File repoRoot = getResource("test/repo");
+        System.setProperty("foo.bar", "substituted_value");
         moduleLoader = new LocalModuleLoader(new File[] {repoRoot});
     }
 


=====================================
src/test/java/org/jboss/modules/xml/PermissionsTest.java
=====================================
@@ -46,6 +46,7 @@ public class PermissionsTest extends AbstractModuleTestCase {
     @Before
     public void setupModuleLoader() throws Exception {
         System.setProperty("jboss.home.dir", JBOSS_HOME_DIR_VALUE);
+        System.setProperty("foo.bar", "substituted_value");
         final File repoRoot = getResource("test/repo");
         moduleLoader = new LocalModuleLoader(new File[] {repoRoot});
     }
@@ -53,6 +54,7 @@ public class PermissionsTest extends AbstractModuleTestCase {
     @Test
     public void testExpansion() throws Exception {
         Module module = moduleLoader.loadModule(MODULE_WITH_INVALID_EXPANSION);
+        assertTrue(module.getExportedResource("active.txt").toString().contains("substituted_value"));
         Enumeration<Permission> permissions = module.getPermissionCollection().elements();
         assertTrue(permissions.hasMoreElements());
         Permission firstPermission = permissions.nextElement();


=====================================
src/test/resources/test/repo/test/permissions/main/module.xml
=====================================
@@ -21,10 +21,12 @@
 <module xmlns="urn:jboss:module:1.3" name="test.permissions">
     <properties/>
 
-    <resources/>
+    <resources>
+        <resource-root path="${foo.bar}"/>
+    </resources>
 
     <dependencies/>
-    
+
     <permissions>
         <grant permission="java.io.FilePermission" name="${jboss.home.dir}" actions="read"/>
     </permissions>


=====================================
src/test/resources/test/repo/test/permissions/main/substituted_value/active.txt
=====================================
@@ -0,0 +1 @@
+active
\ No newline at end of file



View it on GitLab: https://salsa.debian.org/java-team/jboss-modules/-/commit/48f9a72a8317135f3ed923bb98304e6ad8df17e5

-- 
View it on GitLab: https://salsa.debian.org/java-team/jboss-modules/-/commit/48f9a72a8317135f3ed923bb98304e6ad8df17e5
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20220610/becfc5fc/attachment.htm>


More information about the pkg-java-commits mailing list