clarified signature: facilitate interactive experimentation;
authorwenzelm
Sat, 03 Mar 2018 13:06:33 +0100
changeset 67752 636f633552a3
parent 67751 361d41701de0
child 67753 f28aee3ad1e6
clarified signature: facilitate interactive experimentation;
src/Pure/Admin/isabelle_cronjob.scala
--- a/src/Pure/Admin/isabelle_cronjob.scala	Sat Mar 03 12:54:22 2018 +0100
+++ b/src/Pure/Admin/isabelle_cronjob.scala	Sat Mar 03 13:06:33 2018 +0100
@@ -29,11 +29,14 @@
 
 
 
-  /** particular tasks **/
+  /** logger tasks **/
+
+  sealed case class Logger_Task(name: String = "", body: Logger => Unit)
+
 
   /* init and identify Isabelle + AFP repository snapshots */
 
-  private val init =
+  val init =
     Logger_Task("init", logger =>
       {
         Isabelle_Devel.make_index()
@@ -48,7 +51,7 @@
 
   /* build release */
 
-  private val build_release =
+  val build_release =
     Logger_Task("build_release", logger =>
       {
         val rev = Mercurial.repository(isabelle_repos).id()
@@ -61,7 +64,7 @@
 
   /* integrity test of build_history vs. build_history_base */
 
-  private val build_history_base =
+  val build_history_base =
     Logger_Task("build_history_base", logger =>
       {
         val hg =
@@ -294,8 +297,8 @@
           slow = true,
           detect = Build_Log.Prop.build_tags + " = " + SQL.string("AFP"))))
 
-  private def remote_build_history(
-    rev: String, afp_rev: Option[String], i: Int, r: Remote_Build): Logger_Task =
+  def remote_build_history(rev: String, afp_rev: Option[String], i: Int, r: Remote_Build)
+    : Logger_Task =
   {
     val task_name = "build_history-" + r.host
     Logger_Task(task_name, logger =>
@@ -334,9 +337,13 @@
 
   /** task logging **/
 
-  sealed case class Logger_Task(name: String = "", body: Logger => Unit)
+  object Log_Service
+  {
+    def apply(options: Options, progress: Progress = No_Progress): Log_Service =
+      new Log_Service(SSH.init_context(options), progress)
+  }
 
-  class Log_Service private[Isabelle_Cronjob](progress: Progress, val ssh_context: SSH.Context)
+  class Log_Service private(val ssh_context: SSH.Context, progress: Progress)
   {
     current_log.file.delete
 
@@ -433,7 +440,7 @@
 
     /* log service */
 
-    val log_service = new Log_Service(progress, SSH.init_context(Options.init()))
+    val log_service = Log_Service(Options.init(), progress = progress)
 
     def run(start_date: Date, task: Logger_Task) { log_service.run_task(start_date, task) }