# HG changeset patch # User wenzelm # Date 1609078266 -3600 # Node ID 238ddf525da459f11558c5ce278c0ba67ea31972 # Parent 4519ba8da36888f946af6d1ac6465c7745fb68c3 clarified HTML presentation, e.g. avoid bulky jobs like HOL or HOL-Analysis in applications; diff -r 4519ba8da368 -r 238ddf525da4 src/Doc/System/Sessions.thy --- a/src/Doc/System/Sessions.thy Sun Dec 27 14:08:35 2020 +0100 +++ b/src/Doc/System/Sessions.thy Sun Dec 27 15:11:06 2020 +0100 @@ -405,7 +405,9 @@ \<^medskip> Option \<^verbatim>\-P\ enables PDF/HTML presentation in the given directory, where ``\<^verbatim>\-P:\'' refers to the default @{setting_ref ISABELLE_BROWSER_INFO} (or - @{setting_ref ISABELLE_BROWSER_INFO_SYSTEM}). + @{setting_ref ISABELLE_BROWSER_INFO_SYSTEM}). This applies only to + explicitly selected sessions; note that option \-R\ allows to select all + requirements separately. \<^medskip> Option \<^verbatim>\-b\ ensures that heap images are produced for all selected diff -r 4519ba8da368 -r 238ddf525da4 src/Pure/Tools/build.scala --- 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) {