From: Ferruccio Guidi Date: Tue, 10 Jul 2007 15:42:40 +0000 (+0000) Subject: persistent inner types are now generated in publishing mode X-Git-Tag: 0.4.95@7852~354 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=b49683e0bc65391911be8b1e648ddb1ec61665b9;p=helm.git persistent inner types are now generated in publishing mode --- diff --git a/components/library/librarySync.ml b/components/library/librarySync.ml index 1e60133a7..64f037922 100644 --- a/components/library/librarySync.ml +++ b/components/library/librarySync.ml @@ -70,12 +70,25 @@ let save_object_to_disk uri obj ugraph univlist = HExtlib.mkdir dir in (* generate annobj, ids_to_inner_sorts and ids_to_inner_types *) - let annobj = Cic2acic.plain_acic_object_of_cic_object obj in + let annobj, innertypes = + if Helm_registry.get_bool "matita.system" then + let annobj, _, _, ids_to_inner_sorts, ids_to_inner_types, _, _ = + Cic2acic.acic_object_of_cic_object obj + in + let innertypesxml = + Cic2Xml.print_inner_types + uri ~ids_to_inner_sorts ~ids_to_inner_types ~ask_dtd_to_the_getter:false + in + annobj, Some innertypesxml + else + let annobj = Cic2acic.plain_acic_object_of_cic_object obj in + annobj, None + in (* prepare XML *) let xml, bodyxml = Cic2Xml.print_object uri ?ids_to_inner_sorts:None ~ask_dtd_to_the_getter:false annobj - in + in let xmlpath, xmlbodypath, innertypespath, bodyuri, innertypesuri, xmlunivgraphpath, univgraphuri = paths_and_uris_of_obj uri @@ -88,6 +101,14 @@ let save_object_to_disk uri obj ugraph univlist = (* we return a list of uri,path we registered/created *) (uri,xmlpath) :: (univgraphuri,xmlunivgraphpath) :: + (* now the optional inner types, both write and register *) + (match innertypes with + | None -> [] + | Some innertypesxml -> + write ensure_path_exists innertypespath; + write (Xml.pp ~gzip:true innertypesxml) (Some innertypespath); + [innertypesuri, innertypespath] + ) @ (* now the optional body, both write and register *) (match bodyxml,bodyuri with None,_ -> []