package org.hibernate.tools.test.util;
import java.io.File;
import java.util.ArrayList;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class JavaUtil {
public static void compile(File folder) {
JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
ArrayList<String> arguments = new ArrayList<String>();
arguments.add("-d");
arguments.add(folder.getAbsolutePath());
arguments.add("-sourcepath");
arguments.add(folder.getAbsolutePath());
ArrayList<String> fileNames = new ArrayList<String>();
collectJavaFiles(folder, fileNames);
arguments.addAll(fileNames);
javaCompiler.run(
null,
null,
null,
arguments.toArray(new String[arguments.size()]));
}
private static void collectJavaFiles(File file, ArrayList<String> list) {
if (file.isDirectory()) {
for (File child : file.listFiles()) {
collectJavaFiles(child, list);
}
} else {
if (file.getName().endsWith(".java")) {
list.add(file.getAbsolutePath());
}
}
}
}