src/Pure/Tools/build.scala
changeset 73012 238ddf525da4
parent 72993 6ead333e450d
child 73022 38528017e4c8
--- a/src/Pure/Tools/build.scala	Sun Dec 27 14:08:35 2020 +0100
+++ b/src/Pure/Tools/build.scala	Sun Dec 27 15:11:06 2020 +0100
@@ -215,6 +215,8 @@
     val full_sessions =
       Sessions.load_structure(build_options, dirs = dirs, select_dirs = select_dirs, infos = infos)
 
+    val full_sessions_selection = full_sessions.imports_selection(selection)
+
     def sources_stamp(deps: Sessions.Deps, session_name: String): String =
     {
       val digests =
@@ -277,7 +279,7 @@
     store.prepare_output_dir()
 
     if (clean_build) {
-      for (name <- full_sessions.imports_descendants(full_sessions.imports_selection(selection))) {
+      for (name <- full_sessions.imports_descendants(full_sessions_selection)) {
         val (relevant, ok) = store.clean_output(name)
         if (relevant) {
           if (ok) progress.echo("Cleaned " + name)
@@ -492,11 +494,12 @@
     /* PDF/HTML presentation */
 
     if (!no_build && !progress.stopped && results.ok) {
+      val selected = full_sessions_selection.toSet
       val presentation_chapters =
         (for {
           session_name <- deps.sessions_structure.build_topological_order.iterator
           info = results.info(session_name)
-          if presentation.enabled(info) && results(session_name).ok }
+          if selected(session_name) && presentation.enabled(info) && results(session_name).ok }
         yield (info.chapter, (session_name, info.description))).toList
 
       if (presentation_chapters.nonEmpty) {