diff -r 31daac3a85ea -r 4bd480886813 src/Pure/System/build.scala --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Pure/System/build.scala Tue Jul 17 15:56:19 2012 +0200 @@ -0,0 +1,60 @@ +/* Title: Pure/System/build.scala + Author: Makarius + +Build and manage Isabelle sessions. +*/ + +package isabelle + + +object Build +{ + /* command line entry point */ + + private object Bool + { + def unapply(s: String): Option[Boolean] = + s match { + case "true" => Some(true) + case "false" => Some(false) + case _ => None + } + } + + def main(args: Array[String]) + { + def bad_args() + { + java.lang.System.err.println("Bad arguments: " + args.toString) + sys.exit(2) + } + + args.toList match { + case Bool(all_sessions) :: Bool(build_images) :: Bool(list_only) :: rest => + rest.indexWhere(_ == "\n") match { + case -1 => bad_args() + case i => + val (options, rest1) = rest.splitAt(i) + val sessions = rest1.tail + val rc = build(all_sessions, build_images, list_only, options, sessions) + sys.exit(rc) + } + case _ => bad_args() + } + } + + + /* build */ + + def build(all_sessions: Boolean, build_images: Boolean, list_only: Boolean, + options: List[String], sessions: List[String]): Int = + { + val rc = 1 + + println("options = " + options.toString) + println("sessions = " + sessions.toString) + + rc + } +} +