-let usage () =
- prerr_endline "
-usage:
-\tmatitaclean all
-\t\tcleans the whole environment
-\tmatitaclean files...
-\t\tcleans the output of the compilation of files...
-";
- exit 1
-
-let _ =
- if Array.length Sys.argv < 2 then usage ();
- if Sys.argv.(1) = "all" then
- begin
- MatitaDb.clean_owner_environment ();
- let xmldir = Helm_registry.get "matita.basedir" ^ "/xml" in
- ignore
- (Sys.command
- ("find " ^ xmldir ^
- " -name *.xml.gz -o -name *.moo -exec rm {} \\; 2> /dev/null"));
- ignore (Sys.command ("find " ^ xmldir ^ " -type d -exec rmdir -p {} \\; 2> /dev/null"));
- exit 0
- end
- let uris_to_remove =ref [] in
- let files_to_remove =ref [] in
- (try
- for i = 1 to Array.length Sys.argv - 1 do
- let suri = Sys.argv.(i) in
- let uri =
- try
- UM.buri_of_uri (UM.uri_of_string suri)
- with
- UM.IllFormedUri _ ->
- files_to_remove := suri :: !files_to_remove;
- let u = MatitaMisc.baseuri_of_file suri in
- if String.length u < 5 || String.sub u 0 5 <> "cic:/" then
- begin
- MatitaLog.error ("File " ^ suri ^ " defines a bad baseuri: "^u);
- exit 1
- end
- else
- u
- in
- uris_to_remove := uri :: !uris_to_remove
- done
- with
- Invalid_argument _ -> usage ());
- main !uris_to_remove;
- let moos = List.map MatitaMisc.obj_file_of_script !files_to_remove in
- List.iter MatitaMisc.safe_remove moos