src/Pure/Tools/build.scala
changeset 50777 20126dd9772c
parent 50715 8cfd585b9162
child 50845 477ca927676f
equal deleted inserted replaced
50776:5a9964f7a691 50777:20126dd9772c
   507       (out, err1, rc)
   507       (out, err1, rc)
   508     }
   508     }
   509   }
   509   }
   510 
   510 
   511 
   511 
   512   /* log files and corresponding heaps */
   512   /* log files */
   513 
   513 
   514   private val LOG = Path.explode("log")
   514   private val LOG = Path.explode("log")
   515   private def log(name: String): Path = LOG + Path.basic(name)
   515   private def log(name: String): Path = LOG + Path.basic(name)
   516   private def log_gz(name: String): Path = log(name).ext("gz")
   516   private def log_gz(name: String): Path = log(name).ext("gz")
   517 
   517 
   518   private val SESSION_PARENT_PATH = "\fSession.parent_path = "
   518   private val SESSION_PARENT_PATH = "\fSession.parent_path = "
       
   519 
       
   520   sealed case class Log_Info(stats: List[Properties.T], timing: Properties.T)
       
   521 
       
   522   def parse_log(text: String): Log_Info =
       
   523   {
       
   524     val lines = split_lines(text)
       
   525     val stats = Properties.parse_lines("\fML_statistics = ", lines)
       
   526     val timing = Properties.find_parse_line("\fTiming = ", lines) getOrElse Nil
       
   527     Log_Info(stats, timing)
       
   528   }
       
   529 
       
   530 
       
   531   /* sources and heaps */
   519 
   532 
   520   private def sources_stamp(digests: List[SHA1.Digest]): String =
   533   private def sources_stamp(digests: List[SHA1.Digest]): String =
   521     digests.map(_.toString).sorted.mkString("sources: ", " ", "")
   534     digests.map(_.toString).sorted.mkString("sources: ", " ", "")
   522 
   535 
   523   private val no_heap: String = "heap: -"
   536   private val no_heap: String = "heap: -"