diff options
author | buraq <buraq@epfl.ch> | 2004-05-28 12:11:15 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2004-05-28 12:11:15 +0000 |
commit | 359ccf8501512709d1edbdbcaba1c7d477082fb8 (patch) | |
tree | 3576cf5f0dde77d9b46adf2cb218a2d7f8ce7699 | |
parent | ba2568edf4a179d4197a92dea6f1b2aa830563c1 (diff) | |
download | scala-359ccf8501512709d1edbdbcaba1c7d477082fb8.tar.gz scala-359ccf8501512709d1edbdbcaba1c7d477082fb8.tar.bz2 scala-359ccf8501512709d1edbdbcaba1c7d477082fb8.zip |
fallback for bug (UnPickle?!)
-rw-r--r-- | sources/scala/tools/scala4ant/AntAdaptor.scala | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/sources/scala/tools/scala4ant/AntAdaptor.scala b/sources/scala/tools/scala4ant/AntAdaptor.scala index c19f319873..556708292f 100644 --- a/sources/scala/tools/scala4ant/AntAdaptor.scala +++ b/sources/scala/tools/scala4ant/AntAdaptor.scala @@ -33,16 +33,31 @@ package scala.tools.scala4ant { final val VERSION = System.getProperty("scala.version", "unknown version"); def runCompiler( args:Array[String] ) = { + var ex:Throwable = _; //Console.println("runCompiler"); var result = true; try { scala.tools.scalac.Main.main1( false, args ); } catch { case e:Throwable => { - /* e.printStackTrace(); */ + ex = e; result = false; - e.printStackTrace(); - throw new BuildException(e.getMessage()); + try { // fall back on exec + val commands = new Array[String](args.length+2) ; + commands(0) = "java"; + commands(1) = "scala.tools.scalac.Main"; + System.arraycopy(args,0,commands,2,args.length); + val exe = new Execute(); + exe.setCommandline(commands); + //result = exe.execute() == 0; + result = true; + } catch { + case e:Throwable => { + result = false; + ex = e; + } + } + if( !result ) throw new BuildException( ex.getMessage() ); } } result; |