sclass JavaCompiler { S javaCompilerOutput; S compileJava(File srcDir, List libraries, File classesDir) throws IOException { ++compilations; // collect sources List sources = new ArrayList(); if (verbose) System.out.println("Scanning for sources in " + srcDir.getPath()); scanForSources(srcDir, sources, true); if (sources.isEmpty()) throw new IOException("No sources found"); // compile File optionsFile = File.createTempFile("javac", "", javaxTempDir()); try { if (verbose) System.out.println("Compiling " + sources.size() + " source(s) to " + classesDir.getPath()); if (verbose) System.out.println("Libraries: " + libraries); String options = "-d " + bashQuote(classesDir.getPath()); libraries.add(pathToJavaxJar()); writeOptions(sources, libraries, optionsFile, options); classesDir.mkdirs(); invokeJavaCompiler(optionsFile); } finally { optionsFile.delete(); } } }