src/Pure/Tools/build.scala
changeset 66749 0445cfaf6132
parent 66747 f4c6c8a8f645
child 66782 193c31b79a33
     1.1 --- a/src/Pure/Tools/build.scala	Mon Oct 02 13:45:36 2017 +0200
     1.2 +++ b/src/Pure/Tools/build.scala	Mon Oct 02 15:37:46 2017 +0200
     1.3 @@ -24,7 +24,7 @@
     1.4    /* persistent build info */
     1.5  
     1.6    sealed case class Session_Info(
     1.7 -    sources: List[String],
     1.8 +    sources: String,
     1.9      input_heaps: List[String],
    1.10      output_heap: Option[String],
    1.11      return_code: Int)
    1.12 @@ -377,9 +377,12 @@
    1.13  
    1.14      val full_sessions = Sessions.load(build_options, dirs, select_dirs)
    1.15  
    1.16 -    def sources_stamp(deps: Sessions.Deps, name: String): List[String] =
    1.17 -      (full_sessions(name).meta_digest :: deps.sources(name) ::: deps.imported_sources(name))
    1.18 -        .map(_.toString).sorted
    1.19 +    def sources_stamp(deps: Sessions.Deps, name: String): String =
    1.20 +    {
    1.21 +      val digests =
    1.22 +        full_sessions(name).meta_digest :: deps.sources(name) ::: deps.imported_sources(name)
    1.23 +      SHA1.digest(cat_lines(digests.map(_.toString).sorted)).toString
    1.24 +    }
    1.25  
    1.26      val (selected, selected_sessions, deps) =
    1.27      {