--- 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) =
{