def build_doc(
options: Options,
progress: Progress = new Progress,
all_docs: Boolean = false,
max_jobs: Option[Int] = None,
sequential: Boolean = false,
docs: List[String] = Nil,
view: Boolean = false
): Unit = { val sessions_structure = Sessions.load_structure(options) val selected = for {
session <- sessions_structure.build_topological_order
info = sessions_structure(session) if info.groups.contains("doc")
doc = info.options.string("document_variants") if all_docs || docs.contains(doc)
} yield (doc, session)
val documents = selected.map(_._1) val selection = Sessions.Selection(sessions = selected.map(_._2))
docs.filter(doc => !documents.contains(doc)) match { case Nil => case bad => error("No documentation session for " + commas_quote(bad))
}
progress.echo("Build started for sessions " + commas_quote(selection.sessions)) val build_results =
Build.build(options, selection = selection, progress = progress, max_jobs = max_jobs).check
progress.echo("Build started for documentation " + commas_quote(documents)) val deps = Sessions.load_structure(options + "document").selection_deps(selection)
if (view) { for (entry <- Doc.main_contents().entries(name = docs.contains, pdf = true)) {
entry.view()
}
}
}
/* Isabelle tool wrapper */
val isabelle_tool =
Isabelle_Tool("build_doc", "build Isabelle documentation", Scala_Project.here,
{ args => var view = false var all_docs = false var max_jobs: Option[Int] = None var sequential = false var options = Options.init()
val getopts =
Getopts("""
Usage: isabelle build_doc [OPTIONS] [DOCS ...]
Options are:
-V view explicitly given documents
-a select all documentation sessions
-j INT maximum number of parallel jobs (default 1)
-o OPTION override Isabelle system OPTION (via NAME=VAL or NAME)
-s sequential LaTeX jobs
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.