X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.slc.factory%2Fsrc%2Forg%2Fargeo%2Fslc%2Ffactory%2FA2Factory.java;h=388ab7aba6f8cbbf62b4673141eed8fc24d33785;hb=ac29827c58dc6f152a2f320d734cc95ff5dd85c8;hp=9a947f9a5ddf86effcd72c76b169f25e4920363c;hpb=8743de85fc8116bd6e6c078bcba020b2066bf9d9;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.factory/src/org/argeo/slc/factory/A2Factory.java b/org.argeo.slc.factory/src/org/argeo/slc/factory/A2Factory.java index 9a947f9a5..388ab7aba 100644 --- a/org.argeo.slc.factory/src/org/argeo/slc/factory/A2Factory.java +++ b/org.argeo.slc.factory/src/org/argeo/slc/factory/A2Factory.java @@ -276,8 +276,14 @@ public class A2Factory { continue entries; if (entry.getName().startsWith("META-INF/versions/")) continue entries; + if (entry.getName().startsWith("META-INF/maven/")) + continue entries; if (entry.getName().equals("module-info.class")) continue entries; + if (entry.getName().equals("META-INF/NOTICE")) + continue entries; + if (entry.getName().equals("META-INF/LICENSE")) + continue entries; Path target = targetBundleDir.resolve(entry.getName()); Files.createDirectories(target.getParent()); if (!Files.exists(target)) { @@ -287,8 +293,12 @@ public class A2Factory { try (OutputStream out = Files.newOutputStream(target, StandardOpenOption.APPEND)) { out.write("\n".getBytes()); jarIn.transferTo(out); - System.out.println("Appended "+entry.getName()); + if (logger.isLoggable(DEBUG)) + logger.log(DEBUG, "Appended " + entry.getName()); } + } else if (entry.getName().startsWith("org/apache/batik/")) { + logger.log(Level.WARNING, "Skip " + entry.getName()); + continue entries; } else { throw new IllegalStateException("File " + target + " already exists"); } @@ -452,8 +462,12 @@ public class A2Factory { continue entries; Path target = targetSourceDir.resolve(entry.getName()); Files.createDirectories(target.getParent()); - Files.copy(jarIn, target); - logger.log(Level.TRACE, () -> "Copied source " + target); + if (!Files.exists(target)) { + Files.copy(jarIn, target); + logger.log(Level.TRACE, () -> "Copied source " + target); + } else { + logger.log(Level.WARNING, () -> target + " already exists, skipping..."); + } } } @@ -526,7 +540,8 @@ public class A2Factory { DefaultNameVersion nameVersion; Path targetBundleDir; try (JarInputStream jarIn = new JarInputStream(Files.newInputStream(file), false)) { - Manifest manifest = new Manifest(jarIn.getManifest()); + Manifest sourceManifest = jarIn.getManifest(); + Manifest manifest = sourceManifest != null ? new Manifest(sourceManifest) : new Manifest(); // remove problematic entries in MANIFEST manifest.getEntries().clear(); @@ -784,7 +799,7 @@ public class A2Factory { // factory.processCategory(descriptorsBase.resolve("org.argeo.tp")); // factory.processCategory(descriptorsBase.resolve("org.argeo.tp.apache")); // factory.processCategory(descriptorsBase.resolve("org.argeo.tp.formats")); - factory.processCategory(descriptorsBase.resolve("org.argeo.tp.gis")); + factory.processCategory(descriptorsBase.resolve("org.argeo.tp.formats")); System.exit(0); // Eclipse