From 0a5379f2a010eef826ea6c797feabc01e678cb5c Mon Sep 17 00:00:00 2001 From: Sven Reinck Date: Tue, 14 Apr 2020 06:32:11 +0200 Subject: [PATCH] jars nicht immer neu fixen --- .../de/fluxparticle/jpackage/BuildImage.java | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/java/de/fluxparticle/jpackage/BuildImage.java b/src/main/java/de/fluxparticle/jpackage/BuildImage.java index c33e219..afc5d02 100644 --- a/src/main/java/de/fluxparticle/jpackage/BuildImage.java +++ b/src/main/java/de/fluxparticle/jpackage/BuildImage.java @@ -187,33 +187,37 @@ private List processJars(List classpathElements, Path modulesDir } private static String fix(Path modulesDir, String modulePath, Path jar) throws IOException, InterruptedException { - System.out.println("Fix: " + jar); - - if (!jDeps(modulesDir, modulePath, jar)) { - return null; - } - String fileName = jar.getFileName().toString(); - int splitVersion = fileName.lastIndexOf('-'); + Path target = modulesDir.resolve(fileName); - String moduleName = fileName.substring(0, splitVersion).replace('-', '.'); + if (Files.exists(target)) { + System.out.println("Already Fixed: " + fileName); + } else try { + System.out.println("Fix: " + jar); - Path mod = modulesDir.resolve(moduleName); - Path out = mod.resolve("classes"); + if (!jDeps(modulesDir, modulePath, jar)) { + return null; + } - extract(jar, out); + int splitVersion = fileName.lastIndexOf('-'); - Path file = mod.resolve("module-info.java"); + String moduleName = fileName.substring(0, splitVersion).replace('-', '.'); - if (!javaCompiler(modulePath, out, file)) { - return null; - } + Path mod = modulesDir.resolve(moduleName); + Path out = mod.resolve("classes"); - Path target = modulesDir.resolve(fileName); + extract(jar, out); - pack(target, out); + Path file = mod.resolve("module-info.java"); - System.out.println(); + if (!javaCompiler(modulePath, out, file)) { + return null; + } + + pack(target, out); + } finally { + System.out.println(); + } return target.toString(); }