equal
deleted
inserted
replaced
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 |