aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stage1/Stage1.scala2
-rw-r--r--stage2/Stage2.scala7
-rw-r--r--stage2/ToolsStage2.scala3
3 files changed, 8 insertions, 4 deletions
diff --git a/stage1/Stage1.scala b/stage1/Stage1.scala
index 1fd4663..bf6a3d4 100644
--- a/stage1/Stage1.scala
+++ b/stage1/Stage1.scala
@@ -33,7 +33,7 @@ final case class Stage1ArgsParser(__args: Seq[String]) {
abstract class Stage2Base{
- def run( context: Stage2Args ): Unit
+ def run( context: Stage2Args ): ExitCode
}
case class Stage2Args(
diff --git a/stage2/Stage2.scala b/stage2/Stage2.scala
index 542a982..0f5b557 100644
--- a/stage2/Stage2.scala
+++ b/stage2/Stage2.scala
@@ -7,7 +7,7 @@ object Stage2 extends Stage2Base{
new Lib( context.logger ).loadRoot( context ).finalBuild
}
- def run( args: Stage2Args ): Unit = {
+ def run( args: Stage2Args ): ExitCode = {
import args.logger
val paths = CbtPaths(args.cbtHome,args.cache)
import paths._
@@ -75,10 +75,13 @@ object Stage2 extends Stage2Base{
logger.loop(s"Re-running $task for " ++ build.show)
call(build)
}
+ ExitCode.Success
} else {
val code = call(build)
logger.stage2(s"Stage2 end")
- System.exit(code.integer)
+ code
}
+
+ res
}
}
diff --git a/stage2/ToolsStage2.scala b/stage2/ToolsStage2.scala
index 2b5e092..2899173 100644
--- a/stage2/ToolsStage2.scala
+++ b/stage2/ToolsStage2.scala
@@ -1,12 +1,13 @@
package cbt
import java.io._
object ToolsStage2 extends Stage2Base{
- def run( _args: Stage2Args ): Unit = {
+ def run( _args: Stage2Args ): ExitCode = {
val args = _args.args.dropWhile(Seq("tools","direct") contains _)
val lib = new Lib(_args.logger)
val toolsTasks = new ToolsTasks(lib, args, _args.cwd, _args.classLoaderCache, _args.cache, _args.cbtHome, _args.stage2LastModified)
new lib.ReflectObject(toolsTasks){
def usage: String = "Available methods: " ++ lib.taskNames(toolsTasks.getClass).mkString(" ")
}.callNullary(args.lift(0))
+ ExitCode.Success
}
}