Make sure there is at least Automatic-Module-Name unstable
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 12 Apr 2024 11:59:49 +0000 (13:59 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 12 Apr 2024 11:59:49 +0000 (13:59 +0200)
src/org/argeo/build/Repackage.java

index e379a5912dd64ae51ceba090ea1020b9e3a141ad..02158ad147231f3a5e7e552d8549e2c31416e3c2 100644 (file)
@@ -1082,8 +1082,7 @@ public class Repackage {
                        }
 
                        // force Java 9 module name
-                       if (!keepModuleInfo)
-                               entries.put(ManifestHeader.AUTOMATIC_MODULE_NAME.toString(), nameVersion.getName());
+                       entries.put(AUTOMATIC_MODULE_NAME.toString(), nameVersion.getName());
 
                        boolean isNative = false;
                        String os = null;
@@ -1106,9 +1105,13 @@ public class Repackage {
                                                origin.deleted.add("cryptographic signatures");
                                                continue entries;
                                        }
-                                       if (entry.getName().endsWith("module-info.class") && !keepModuleInfo) { // skip Java 9 module info
-                                               origin.deleted.add("Java module information (module-info.class)");
-                                               continue entries;
+                                       if (entry.getName().endsWith("module-info.class")) { // skip Java 9 module info
+                                               if (keepModuleInfo) {
+                                                       entries.remove(AUTOMATIC_MODULE_NAME.toString());
+                                               } else {
+                                                       origin.deleted.add("Java module information (module-info.class)");
+                                                       continue entries;
+                                               }
                                        }
                                        if (entry.getName().startsWith("META-INF/versions/")) { // skip multi-version
                                                origin.deleted.add("additional Java versions (META-INF/versions)");