diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-10-13 01:16:48 +0000 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-10-13 01:16:48 +0000 |
commit | e7dab60a0a38f40b75b919a91b73052b510f1711 (patch) | |
tree | fc43e76fb472cada8b417f77b620e0c6890e4bf2 /stage1/Stage1Lib.scala | |
parent | 8529a70358921af282920c216a81609292c8ba6a (diff) | |
download | cbt-e7dab60a0a38f40b75b919a91b73052b510f1711.tar.gz cbt-e7dab60a0a38f40b75b919a91b73052b510f1711.tar.bz2 cbt-e7dab60a0a38f40b75b919a91b73052b510f1711.zip |
do not interpret exceptions during redirectOutToErr as scalac crashes
Diffstat (limited to 'stage1/Stage1Lib.scala')
-rw-r--r-- | stage1/Stage1Lib.scala | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala index eea9be6..68648fe 100644 --- a/stage1/Stage1Lib.scala +++ b/stage1/Stage1Lib.scala @@ -256,9 +256,9 @@ class Stage1Lib( val logger: Logger ) extends BaseLib{ val singleArgs = scalacOptions.map( "-S" ++ _ ) val code = - try{ + redirectOutToErr{ System.err.println("Compiling to " ++ compileTarget.toString) - redirectOutToErr{ + try{ lib.runMain( _class, dualArgs ++ singleArgs ++ Seq( @@ -266,27 +266,27 @@ class Stage1Lib( val logger: Logger ) extends BaseLib{ ) ++ files.map(_.toString), zinc.classLoader(classLoaderCache) ) + } catch { + case e: Exception => + System.err.println(red("The Scala compiler crashed. Try running it by hand:")) + System.out.println(s""" + java -cp \\ + ${zinc.classpath.strings.mkString(":\\\n")} \\ + \\ + ${_class} \\ + \\ + ${dualArgs.grouped(2).map(_.mkString(" ")).mkString(" \\\n")} \\ + \\ + ${singleArgs.mkString(" \\\n")} \\ + \\ + -cp \\ + ${classpath.strings.mkString(":\\\n")} \\ + \\ + ${files.sorted.mkString(" \\\n")} + """ + ) + ExitCode.Failure } - } catch { - case e: Exception => - System.err.println(red("The Scala compiler crashed. Try running it by hand:")) - System.out.println(s""" -java -cp \\ -${zinc.classpath.strings.mkString(":\\\n")} \\ -\\ -${_class} \\ -\\ -${dualArgs.grouped(2).map(_.mkString(" ")).mkString(" \\\n")} \\ -\\ -${singleArgs.mkString(" \\\n")} \\ -\\ --cp \\ -${classpath.strings.mkString(":\\\n")} \\ -\\ -${files.sorted.mkString(" \\\n")} -""" - ) - ExitCode.Failure } if(code == ExitCode.Success){ |