diff options
Diffstat (limited to 'src/main/java/jp/ac/tsukuba/openjava/OldJavaCompiler.java')
-rw-r--r-- | src/main/java/jp/ac/tsukuba/openjava/OldJavaCompiler.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/jp/ac/tsukuba/openjava/OldJavaCompiler.java b/src/main/java/jp/ac/tsukuba/openjava/OldJavaCompiler.java new file mode 100644 index 0000000..df890c3 --- /dev/null +++ b/src/main/java/jp/ac/tsukuba/openjava/OldJavaCompiler.java @@ -0,0 +1,46 @@ +/* + * OldJavaCompiler.java + * + * Apr 16, 1999 Michiaki Tatsubori + */ +package jp.ac.tsukuba.openjava; + +import java.io.BufferedInputStream; +import java.io.InputStream; + +import io.devnulllabs.openjava.ojc.JavaCompiler; + +/** + * The class <code>OldJavaCompiler</code> is an adapter for Sun's javac. + * + */ +public class OldJavaCompiler implements JavaCompiler { + public static void main(String[] args) { + new OldJavaCompiler().compile(args); + } + + public void compile(String[] args) { + /*sun.tools.javac.Main.main( args );*/ + Runtime runtime = Runtime.getRuntime(); + try { + Process p = runtime.exec("javac " + strs2str(args)); + InputStream in = new BufferedInputStream(p.getErrorStream()); + byte[] buf = new byte[1024]; + for (int len = in.read(buf); len != -1; len = in.read(buf)) { + System.err.write(buf, 0, len); + } + p.waitFor(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static String strs2str(String[] strs) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < strs.length; ++i) { + buf.append(strs[i]).append(" "); + } + return buf.toString(); + } + +} |