X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=src%2Forg%2Fargeo%2Fbuild%2FMake.java;h=9593e0df00d01b38126b387e377e7a23bf1e6127;hb=8a5bc1878eb62e28f2cecbf610c61c456d1f1f89;hp=6f8434434a8b82d7436b0da1592a4a934ffb36e7;hpb=74232bbbcd17259fcaf4b3ff29e30e7a795bc945;p=cc0%2Fargeo-build.git diff --git a/src/org/argeo/build/Make.java b/src/org/argeo/build/Make.java index 6f84344..9593e0d 100644 --- a/src/org/argeo/build/Make.java +++ b/src/org/argeo/build/Make.java @@ -31,6 +31,7 @@ import java.util.concurrent.CompletableFuture; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import java.util.jar.Manifest; +import java.util.zip.Deflater; import org.eclipse.jdt.core.compiler.CompilationProgress; @@ -275,6 +276,7 @@ public class Make { Files.createDirectories(jarP.getParent()); try (JarOutputStream jarOut = new JarOutputStream(Files.newOutputStream(jarP), manifest)) { + jarOut.setLevel(Deflater.DEFAULT_COMPRESSION); // add all classes first Files.walkFileTree(binP, new SimpleFileVisitor() { @Override @@ -310,10 +312,24 @@ public class Make { } }); + Path srcP = source.resolve("src"); + // Add all resources from src/ + Files.walkFileTree(srcP, new SimpleFileVisitor() { + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + if (file.getFileName().toString().endsWith(".java") + || file.getFileName().toString().endsWith(".class")) + return FileVisitResult.CONTINUE; + jarOut.putNextEntry(new JarEntry(srcP.relativize(file).toString())); + if (!Files.isDirectory(file)) + Files.copy(file, jarOut); + return FileVisitResult.CONTINUE; + } + }); + // add sources // TODO add effective BND, Eclipse project file, etc., in order to be able to // repackage - Path srcP = source.resolve("src"); Files.walkFileTree(srcP, new SimpleFileVisitor() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { @@ -323,6 +339,7 @@ public class Make { return FileVisitResult.CONTINUE; } }); + } }