src/Doc/System/Sessions.thy
changeset 76921 cb4b1fdebf85
parent 76919 293c8a567f71
child 76925 47f1b099497c
equal deleted inserted replaced
76920:de2e9a64d59b 76921:cb4b1fdebf85
   772 
   772 
   773 section \<open>Update theory sources based on PIDE markup \label{sec:tool-update}\<close>
   773 section \<open>Update theory sources based on PIDE markup \label{sec:tool-update}\<close>
   774 
   774 
   775 text \<open>
   775 text \<open>
   776   The @{tool_def "update"} tool updates theory sources based on markup that is
   776   The @{tool_def "update"} tool updates theory sources based on markup that is
   777   produced from a running PIDE session (similar to @{tool dump}
   777   produced by the regular @{tool build} process \secref{sec:tool-build}). Its
   778   \secref{sec:tool-dump}). Its command-line usage is: @{verbatim [display]
   778   command-line usage is: @{verbatim [display]
   779 \<open>Usage: isabelle update [OPTIONS] [SESSIONS ...]
   779 \<open>Usage: isabelle update [OPTIONS] [SESSIONS ...]
   780 
   780 
   781   Options are:
   781   Options are:
   782     -B NAME      include session NAME and all descendants
   782     -B NAME      include session NAME and all descendants
   783     -D DIR       include session directory and select its sessions
   783     -D DIR       include session directory and select its sessions
   784     -R           refer to requirements of selected sessions
   784     -R           refer to requirements of selected sessions
   785     -X NAME      exclude sessions from group NAME and all descendants
   785     -X NAME      exclude sessions from group NAME and all descendants
   786     -a           select all sessions
   786     -a           select all sessions
   787     -b NAME      base logic image (default "Pure")
   787     -b NAME      additional base logic
   788     -d DIR       include session directory
   788     -d DIR       include session directory
   789     -g NAME      select session group NAME
   789     -g NAME      select session group NAME
       
   790     -j INT       maximum number of parallel jobs (default 1)
       
   791     -n           no build -- take existing build databases
   790     -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)
   792     -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)
   791     -u OPT       override "update" option: shortcut for "-o update_OPT"
   793     -u OPT       override "update" option: shortcut for "-o update_OPT"
   792     -v           verbose
   794     -v           verbose
   793     -x NAME      exclude session NAME and all descendants
   795     -x NAME      exclude session NAME and all descendants
   794 
   796 
   795   Update theory sources based on PIDE markup.\<close>}
   797   Update theory sources based on PIDE markup.\<close>}
   796 
   798 
   797   \<^medskip> Options \<^verbatim>\<open>-B\<close>, \<^verbatim>\<open>-D\<close>, \<^verbatim>\<open>-R\<close>, \<^verbatim>\<open>-X\<close>, \<^verbatim>\<open>-a\<close>, \<^verbatim>\<open>-d\<close>, \<^verbatim>\<open>-g\<close>, \<^verbatim>\<open>-x\<close> and the
   799   \<^medskip> Options \<^verbatim>\<open>-B\<close>, \<^verbatim>\<open>-D\<close>, \<^verbatim>\<open>-R\<close>, \<^verbatim>\<open>-X\<close>, \<^verbatim>\<open>-a\<close>, \<^verbatim>\<open>-d\<close>, \<^verbatim>\<open>-g\<close>, \<^verbatim>\<open>-x\<close> and the
   798   remaining command-line arguments specify sessions as in @{tool build}
   800   remaining command-line arguments specify sessions as in @{tool build}
   799   (\secref{sec:tool-build}) or @{tool dump} (\secref{sec:tool-dump}).
   801   (\secref{sec:tool-build}).
   800 
   802 
   801   \<^medskip> Option \<^verbatim>\<open>-b\<close> specifies an optional base logic image, for improved
   803   \<^medskip> Options \<^verbatim>\<open>-N\<close> and \<^verbatim>\<open>-j\<close> specify multicore parameters as in @{tool build}.
   802   scalability of the PIDE session. Its theories are only processed if it is
   804 
   803   included in the overall session selection.
   805   \<^medskip> Option \<^verbatim>\<open>-n\<close> suppresses the actual build process, but existing build
       
   806   databases are used nonetheless.
       
   807 
       
   808   \<^medskip> Option \<^verbatim>\<open>-b\<close> specifies one or more base logics: these sessions and their
       
   809   ancestors are \<^emph>\<open>excluded\<close> from the update.
   804 
   810 
   805   \<^medskip> Option \<^verbatim>\<open>-v\<close> increases the general level of verbosity.
   811   \<^medskip> Option \<^verbatim>\<open>-v\<close> increases the general level of verbosity.
   806 
   812 
   807   \<^medskip> Option \<^verbatim>\<open>-o\<close> overrides Isabelle system options as for @{tool build}
   813   \<^medskip> Option \<^verbatim>\<open>-o\<close> overrides Isabelle system options as for @{tool build}
   808   (\secref{sec:tool-build}). Option \<^verbatim>\<open>-u\<close> refers to specific \<^verbatim>\<open>update\<close>
   814   (\secref{sec:tool-build}). Option \<^verbatim>\<open>-u\<close> refers to specific \<^verbatim>\<open>update\<close>
   848   Update some cartouche notation in all theory sources required for session
   854   Update some cartouche notation in all theory sources required for session
   849   \<^verbatim>\<open>HOL-Analysis\<close> (and ancestors):
   855   \<^verbatim>\<open>HOL-Analysis\<close> (and ancestors):
   850 
   856 
   851   @{verbatim [display] \<open>  isabelle update -u mixfix_cartouches HOL-Analysis\<close>}
   857   @{verbatim [display] \<open>  isabelle update -u mixfix_cartouches HOL-Analysis\<close>}
   852 
   858 
   853   \<^smallskip> Update the same for all application sessions based on \<^verbatim>\<open>HOL-Analysis\<close> ---
   859   \<^smallskip> Update the same for all application sessions based on \<^verbatim>\<open>HOL-Analysis\<close>, but
   854   using its image as starting point (for reduced resource requirements):
   860   do not change the underlying \<^verbatim>\<open>HOL\<close> (and \<^verbatim>\<open>Pure\<close>) session:
   855 
   861 
   856   @{verbatim [display] \<open>  isabelle update -u mixfix_cartouches -b HOL-Analysis -B HOL-Analysis\<close>}
   862   @{verbatim [display] \<open>  isabelle update -u mixfix_cartouches -b HOL -B HOL-Analysis\<close>}
   857 
   863 
   858   \<^smallskip> Update sessions that build on \<^verbatim>\<open>HOL-Proofs\<close>, which need to be run
   864   \<^smallskip> Update all sessions that happen to be properly built beforehand:
   859   separately with special options as follows:
   865 
   860 
   866   @{verbatim [display] \<open>  isabelle update -u mixfix_cartouches -n -a\<close>}
   861   @{verbatim [display] \<open>  isabelle update -u mixfix_cartouches -l HOL-Proofs -B HOL-Proofs
       
   862   -o record_proofs=2\<close>}
       
   863 
       
   864   \<^smallskip> See also the end of \secref{sec:tool-dump} for hints on increasing
       
   865   Isabelle/ML heap sizes for very big PIDE processes that include many
       
   866   sessions, notably from the Archive of Formal Proofs.
       
   867 \<close>
   867 \<close>
   868 
   868 
   869 
   869 
   870 section \<open>Explore sessions structure\<close>
   870 section \<open>Explore sessions structure\<close>
   871 
   871