src/Pure/Admin/build_log.scala
changeset 65663 61cd86bb9613
parent 65649 0818da4f67bb
child 65664 c84db5e0dd6d
equal deleted inserted replaced
65662:3db6a13fdffd 65663:61cd86bb9613
   340   }
   340   }
   341 
   341 
   342   object Jenkins
   342   object Jenkins
   343   {
   343   {
   344     val engine = "jenkins"
   344     val engine = "jenkins"
       
   345     val Host = new Regex("""^Building remotely on (\S+) \((\S+)\).*$""")
   345     val Start = new Regex("""^Started .*$""")
   346     val Start = new Regex("""^Started .*$""")
   346     val Start_Date = new Regex("""^Build started at (.+)$""")
   347     val Start_Date = new Regex("""^Build started at (.+)$""")
   347     val No_End = new Regex("""$.""")
   348     val No_End = new Regex("""$.""")
   348     val Isabelle_Version = new Regex("""^Isabelle id (\S+)$""")
   349     val Isabelle_Version = new Regex("""^Isabelle id (\S+)$""")
   349     val AFP_Version = new Regex("""^AFP id (\S+)$""")
   350     val AFP_Version = new Regex("""^AFP id (\S+)$""")
   407       case Jenkins.Start() :: _
   408       case Jenkins.Start() :: _
   408       if log_file.lines.contains(Jenkins.CONFIGURATION) ||
   409       if log_file.lines.contains(Jenkins.CONFIGURATION) ||
   409          log_file.lines.last.startsWith(Jenkins.FINISHED) =>
   410          log_file.lines.last.startsWith(Jenkins.FINISHED) =>
   410         log_file.lines.dropWhile(_ != Jenkins.BUILD) match {
   411         log_file.lines.dropWhile(_ != Jenkins.BUILD) match {
   411           case Jenkins.BUILD :: _ :: Jenkins.Start_Date(log_file.Strict_Date(start)) :: _ =>
   412           case Jenkins.BUILD :: _ :: Jenkins.Start_Date(log_file.Strict_Date(start)) :: _ =>
   412             parse(Jenkins.engine, "", start.to(ZoneId.of("Europe/Berlin")), Jenkins.No_End,
   413             val host =
       
   414               log_file.lines.takeWhile(_ != Jenkins.CONFIGURATION).collectFirst({
       
   415                 case Jenkins.Host(a, b) => a + "." + b
       
   416               }).getOrElse("")
       
   417             parse(Jenkins.engine, host, start.to(ZoneId.of("Europe/Berlin")), Jenkins.No_End,
   413               Jenkins.Isabelle_Version, Jenkins.AFP_Version)
   418               Jenkins.Isabelle_Version, Jenkins.AFP_Version)
   414           case _ => Meta_Info.empty
   419           case _ => Meta_Info.empty
   415         }
   420         }
   416 
   421 
   417       case line :: _ if line.startsWith("\u0000") => Meta_Info.empty
   422       case line :: _ if line.startsWith("\u0000") => Meta_Info.empty