package com.googlecode.japi.checker.maven.plugin;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipOutputStream;
import org.codehaus.plexus.util.IOUtil;
class Utils {
private Utils() {}
public static void createJarFromDirectory(File filename, File directory) throws IOException {
JarOutputStream jar = new JarOutputStream(new FileOutputStream(filename));
try {
zipDir(jar, directory, null);
} finally {
jar.close();
}
}
private static void zipDir(ZipOutputStream zip, File directory, String subpath) throws IOException {
if (subpath == null) {
subpath = "";
}
for (File file : directory.listFiles()) {
if (file.isDirectory()) {
zipDir(zip, file, subpath + subpath + file.getName() + "/");
} else {
JarEntry entry = new JarEntry(subpath + file.getName());
entry.setTime(file.lastModified());
zip.putNextEntry(entry);
IOUtil.copy(new FileInputStream(file), zip, 2048);
}
}
}
}