in harness/src/main/java/org/apache/geode/perftest/jvms/classpath/JarUtil.java [43:66]
static void jar(File file, File outputFile) throws IOException {
Manifest manifest = new Manifest();
try (FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
JarOutputStream outputStream = new JarOutputStream(fileOutputStream, manifest)) {
Path start = file.toPath();
Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
throws IOException {
if (file.toFile().isDirectory()) {
return FileVisitResult.CONTINUE;
}
JarEntry entry = new JarEntry(start.relativize(file).toString());
outputStream.putNextEntry(entry);
try (FileInputStream input = new FileInputStream(file.toFile())) {
IOUtils.copy(input, outputStream);
}
return FileVisitResult.CONTINUE;
}
});
}
}