src/Pure/Tools/update.scala
changeset 76970 7d23555fda83
parent 76969 d1fbd04a976e
child 76972 6c542f2aab85
equal deleted inserted replaced
76969:d1fbd04a976e 76970:7d23555fda83
    91       for {
    91       for {
    92         session <- sessions_structure.build_topological_order
    92         session <- sessions_structure.build_topological_order
    93         if build_results(session).ok && !exclude(session)
    93         if build_results(session).ok && !exclude(session)
    94       } {
    94       } {
    95         progress.echo("Session " + session + " ...")
    95         progress.echo("Session " + session + " ...")
       
    96         val session_options = sessions_structure(session).options
    96         val proper_session_theory =
    97         val proper_session_theory =
    97           build_results.deps(session).proper_session_theories.map(_.theory).toSet
    98           build_results.deps(session).proper_session_theories.map(_.theory).toSet
    98         using(database_context.open_session0(session)) { session_context =>
    99         using(database_context.open_session0(session)) { session_context =>
    99           for {
   100           for {
   100             db <- session_context.session_db()
   101             db <- session_context.session_db()
   109               snapshot = theory_snapshot.switch(node_name)
   110               snapshot = theory_snapshot.switch(node_name)
   110               if snapshot.node.source_wellformed
   111               if snapshot.node.source_wellformed
   111             } {
   112             } {
   112               progress.expose_interrupt()
   113               progress.expose_interrupt()
   113               val xml = snapshot.xml_markup(elements = update_elements)
   114               val xml = snapshot.xml_markup(elements = update_elements)
   114               val source1 = XML.content(update_xml(options, xml))
   115               val source1 = XML.content(update_xml(session_options, xml))
   115               if (source1 != snapshot.node.source) {
   116               if (source1 != snapshot.node.source) {
   116                 val path = Path.explode(node_name.node)
   117                 val path = Path.explode(node_name.node)
   117                 progress.echo("Updating " + quote(File.standard_path(path)))
   118                 progress.echo("Updating " + quote(File.standard_path(path)))
   118                 File.write(path, source1)
   119                 File.write(path, source1)
   119               }
   120               }