src/Pure/Tools/build.scala
changeset 68209 aeffd8f1f079
parent 68204 a554da2811f2
child 68212 5a59fded83c7
equal deleted inserted replaced
68208:d9f2cf4fc002 68209:aeffd8f1f079
   236           session.init_protocol_handler(handler)
   236           session.init_protocol_handler(handler)
   237 
   237 
   238           val session_result = Future.promise[Process_Result]
   238           val session_result = Future.promise[Process_Result]
   239 
   239 
   240           Isabelle_Process.start(session, options, logic = parent, cwd = info.dir.file, env = env,
   240           Isabelle_Process.start(session, options, logic = parent, cwd = info.dir.file, env = env,
   241             sessions_structure = Some(deps.sessions_structure), store = store,
   241             sessions_structure = Some(deps.sessions_structure), store = Some(store),
   242             phase_changed =
   242             phase_changed =
   243             {
   243             {
   244               case Session.Ready => session.protocol_command("build_session", args_yxml)
   244               case Session.Ready => session.protocol_command("build_session", args_yxml)
   245               case Session.Terminated(result) => session_result.fulfill(result)
   245               case Session.Terminated(result) => session_result.fulfill(result)
   246               case _ =>
   246               case _ =>
   269             if (Sessions.is_pure(name)) {
   269             if (Sessions.is_pure(name)) {
   270               ML_Process(options, raw_ml_system = true, cwd = info.dir.file,
   270               ML_Process(options, raw_ml_system = true, cwd = info.dir.file,
   271                 args =
   271                 args =
   272                   (for ((root, _) <- Thy_Header.ml_roots) yield List("--use", root)).flatten :::
   272                   (for ((root, _) <- Thy_Header.ml_roots) yield List("--use", root)).flatten :::
   273                   List("--eval", eval),
   273                   List("--eval", eval),
   274                 env = env, sessions_structure = Some(deps.sessions_structure), store = store,
   274                 env = env, sessions_structure = Some(deps.sessions_structure), store = Some(store),
   275                 cleanup = () => args_file.delete)
   275                 cleanup = () => args_file.delete)
   276             }
   276             }
   277             else {
   277             else {
   278               ML_Process(options, parent, List("--eval", eval), cwd = info.dir.file,
   278               ML_Process(options, parent, List("--eval", eval), cwd = info.dir.file,
   279                 env = env, sessions_structure = Some(deps.sessions_structure), store = store,
   279                 env = env, sessions_structure = Some(deps.sessions_structure), store = Some(store),
   280                 cleanup = () => args_file.delete)
   280                 cleanup = () => args_file.delete)
   281             }
   281             }
   282 
   282 
   283           process.result(
   283           process.result(
   284             progress_stdout = (line: String) =>
   284             progress_stdout = (line: String) =>
   391     sessions: List[String] = Nil,
   391     sessions: List[String] = Nil,
   392     selection: Sessions.Selection = Sessions.Selection.empty): Results =
   392     selection: Sessions.Selection = Sessions.Selection.empty): Results =
   393   {
   393   {
   394     val build_options = options.int.update("completion_limit", 0).bool.update("ML_statistics", true)
   394     val build_options = options.int.update("completion_limit", 0).bool.update("ML_statistics", true)
   395 
   395 
   396     val store = Sessions.store(system_mode)
   396     val store = Sessions.store(build_options, system_mode)
   397 
   397 
   398 
   398 
   399     /* session selection and dependencies */
   399     /* session selection and dependencies */
   400 
   400 
   401     val full_sessions =
   401     val full_sessions =