src/Pure/Admin/jenkins.scala
changeset 65652 349999526df3
parent 65651 2b78b7edf072
child 65653 f433c0e73307
equal deleted inserted replaced
65651:2b78b7edf072 65652:349999526df3
     6 
     6 
     7 package isabelle
     7 package isabelle
     8 
     8 
     9 
     9 
    10 import java.net.URL
    10 import java.net.URL
       
    11 import java.time.ZoneId
    11 
    12 
    12 import scala.util.matching.Regex
    13 import scala.util.matching.Regex
    13 
    14 
    14 
    15 
    15 object Jenkins
    16 object Jenkins
    42     job_name: String,
    43     job_name: String,
    43     timestamp: Long,
    44     timestamp: Long,
    44     output: URL,
    45     output: URL,
    45     session_logs: List[(String, URL)])
    46     session_logs: List[(String, URL)])
    46   {
    47   {
    47     def read_main_log(): Build_Log.Log_File = Build_Log.Log_File(job_name, Url.read(output))
    48     def date: Date = Date(Time.ms(timestamp), ZoneId.of("Europe/Berlin"))
       
    49     def log_filename: Path =
       
    50       Build_Log.log_filename(Build_Log.Jenkins.engine, date, List(job_name))
       
    51     def read_main_log(): Build_Log.Log_File =
       
    52       Build_Log.Log_File(log_filename.implode, Url.read(output))
    48     def read_session_log(name: String): Build_Log.Log_File =
    53     def read_session_log(name: String): Build_Log.Log_File =
    49       Build_Log.Log_File(name,
    54       Build_Log.Log_File(name,
    50         session_logs.collectFirst({ case (a, b) if a == name => Url.read_gzip(b) }) getOrElse "")
    55         session_logs.collectFirst({ case (a, b) if a == name => Url.read_gzip(b) }) getOrElse "")
    51   }
    56   }
    52 
    57