src/Pure/Tools/build.scala
changeset 66749 0445cfaf6132
parent 66747 f4c6c8a8f645
child 66782 193c31b79a33
--- a/src/Pure/Tools/build.scala	Mon Oct 02 13:45:36 2017 +0200
+++ b/src/Pure/Tools/build.scala	Mon Oct 02 15:37:46 2017 +0200
@@ -24,7 +24,7 @@
   /* persistent build info */
 
   sealed case class Session_Info(
-    sources: List[String],
+    sources: String,
     input_heaps: List[String],
     output_heap: Option[String],
     return_code: Int)
@@ -377,9 +377,12 @@
 
     val full_sessions = Sessions.load(build_options, dirs, select_dirs)
 
-    def sources_stamp(deps: Sessions.Deps, name: String): List[String] =
-      (full_sessions(name).meta_digest :: deps.sources(name) ::: deps.imported_sources(name))
-        .map(_.toString).sorted
+    def sources_stamp(deps: Sessions.Deps, name: String): String =
+    {
+      val digests =
+        full_sessions(name).meta_digest :: deps.sources(name) ::: deps.imported_sources(name)
+      SHA1.digest(cat_lines(digests.map(_.toString).sorted)).toString
+    }
 
     val (selected, selected_sessions, deps) =
     {