diff options
author | buraq <buraq@epfl.ch> | 2005-06-13 13:41:36 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2005-06-13 13:41:36 +0000 |
commit | ca5b2cba22f48311999a6efba1a56ba2283a2cae (patch) | |
tree | 8e65ebae2306ca5297e274ac6f88f3fabd37e208 /sources | |
parent | 3577a16ffe5dfc650843d4fc5634f8530bd52144 (diff) | |
download | scala-ca5b2cba22f48311999a6efba1a56ba2283a2cae.tar.gz scala-ca5b2cba22f48311999a6efba1a56ba2283a2cae.tar.bz2 scala-ca5b2cba22f48311999a6efba1a56ba2283a2cae.zip |
in scala4ant, errors will cause ant script to s...
in scala4ant, errors will cause ant script to stop. Before, it just ran
through
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scala/tools/scala4ant/AntAdaptor.scala | 5 | ||||
-rw-r--r-- | sources/scala/tools/scalac/Main.scala | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/sources/scala/tools/scala4ant/AntAdaptor.scala b/sources/scala/tools/scala4ant/AntAdaptor.scala index b61816da0a..0d1c0653a3 100644 --- a/sources/scala/tools/scala4ant/AntAdaptor.scala +++ b/sources/scala/tools/scala4ant/AntAdaptor.scala @@ -38,6 +38,7 @@ package scala.tools.scala4ant { var result = true; try { scala.tools.scalac.Main.main1( false, args ); + } catch { case e:Throwable => { result = false; @@ -46,6 +47,10 @@ package scala.tools.scala4ant { ex.printStackTrace(); if( !result ) throw new BuildException("exception occurred:"+ex.getClass()); } + + if( scala.tools.scalac.Main.reporter.errors() > 0 ) + throw new BuildException("there were compile errors"); + result; } diff --git a/sources/scala/tools/scalac/Main.scala b/sources/scala/tools/scalac/Main.scala index 5e54b968bb..838019e53f 100644 --- a/sources/scala/tools/scalac/Main.scala +++ b/sources/scala/tools/scalac/Main.scala @@ -6,7 +6,7 @@ ** $Id$ \* */ -import scala.tools.util.ConsoleReporter; +import scala.tools.util.{AbstractReporter, ConsoleReporter}; import scalac.{CompilerCommand, Global => scalac_Global}; import scalac.symtab.classfile.CLRTypes; @@ -27,8 +27,12 @@ object Main { def main(args: Array[String]): unit = main1( true, args ); + // ant task needs to be aware of reporter.errors + var reporter: AbstractReporter = _; + def main1( exitOnError:boolean, args: Array[String] ):unit = { val reporter = new ConsoleReporter(); + this.reporter = reporter; val command = new CompilerCommand( PRODUCT, VERSION, reporter, new CompilerPhases()); var ok = true; |