summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-05-28 12:11:15 +0000
committerburaq <buraq@epfl.ch>2004-05-28 12:11:15 +0000
commit359ccf8501512709d1edbdbcaba1c7d477082fb8 (patch)
tree3576cf5f0dde77d9b46adf2cb218a2d7f8ce7699
parentba2568edf4a179d4197a92dea6f1b2aa830563c1 (diff)
downloadscala-359ccf8501512709d1edbdbcaba1c7d477082fb8.tar.gz
scala-359ccf8501512709d1edbdbcaba1c7d477082fb8.tar.bz2
scala-359ccf8501512709d1edbdbcaba1c7d477082fb8.zip
fallback for bug (UnPickle?!)
-rw-r--r--sources/scala/tools/scala4ant/AntAdaptor.scala21
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;