src/Pure/Admin/isabelle_cronjob.scala
changeset 64195 290b8ba96ecc
parent 64194 b5ada7dcceaa
child 64197 c43dedbb8118
equal deleted inserted replaced
64194:b5ada7dcceaa 64195:290b8ba96ecc
    39     Logger_Task("isabelle_identify", logger =>
    39     Logger_Task("isabelle_identify", logger =>
    40       {
    40       {
    41         val isabelle_id = pull_repos(isabelle_repos)
    41         val isabelle_id = pull_repos(isabelle_repos)
    42         val afp_id = pull_repos(afp_repos)
    42         val afp_id = pull_repos(afp_repos)
    43 
    43 
    44         val log_dir = main_dir + Build_Log.log_subdir(logger.start_date)
    44         File.write(logger.log_dir + Build_Log.log_filename("isabelle_identify", logger.start_date),
    45         Isabelle_System.mkdirs(log_dir)
       
    46 
       
    47         File.write(log_dir + Build_Log.log_filename("isabelle_identify", logger.start_date),
       
    48           terminate_lines(
    45           terminate_lines(
    49             List("isabelle_identify: " + Build_Log.print_date(logger.start_date),
    46             List("isabelle_identify: " + Build_Log.print_date(logger.start_date),
    50               "",
    47               "",
    51               "Isabelle version: " + isabelle_id,
    48               "Isabelle version: " + isabelle_id,
    52               "AFP version: " + afp_id)))
    49               "AFP version: " + afp_id)))
    56   /* integrity test of build_history vs. build_history_base */
    53   /* integrity test of build_history vs. build_history_base */
    57 
    54 
    58   private val build_history_base =
    55   private val build_history_base =
    59     Logger_Task("build_history_base", logger =>
    56     Logger_Task("build_history_base", logger =>
    60       {
    57       {
    61         val log_dir = main_dir + Build_Log.log_subdir(logger.start_date)
       
    62         Isabelle_System.mkdirs(log_dir)
       
    63 
       
    64         for {
    58         for {
    65           (result, log_path) <-
    59           (result, log_path) <-
    66             Build_History.build_history(Mercurial.repository(isabelle_repos),
    60             Build_History.build_history(Mercurial.repository(isabelle_repos),
    67               rev = "build_history_base", fresh = true, build_args = List("FOL"))
    61               rev = "build_history_base", fresh = true, build_args = List("FOL"))
    68         } {
    62         } {
    69           result.check
    63           result.check
    70           File.copy(log_path, log_dir + log_path.base)
    64           File.copy(log_path, logger.log_dir + log_path.base)
    71         }
    65         }
    72       })
    66       })
    73 
    67 
    74 
    68 
    75 
    69 
   129         (if (err.isEmpty) "finished" else "ERROR " + err.get) +
   123         (if (err.isEmpty) "finished" else "ERROR " + err.get) +
   130         (if (elapsed_time.seconds < 3.0) "" else ", elapsed time " + elapsed_time.message_hms)
   124         (if (elapsed_time.seconds < 3.0) "" else ", elapsed time " + elapsed_time.message_hms)
   131       log(end_date, msg)
   125       log(end_date, msg)
   132     }
   126     }
   133 
   127 
       
   128     val log_dir: Path = main_dir + Build_Log.log_subdir(start_date)
       
   129 
       
   130     Isabelle_System.mkdirs(log_dir)
   134     log(start_date, "started")
   131     log(start_date, "started")
   135   }
   132   }
   136 
   133 
   137   class Task private[Isabelle_Cronjob](name: String, body: => Unit)
   134   class Task private[Isabelle_Cronjob](name: String, body: => Unit)
   138   {
   135   {