- 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
-
+ | [] -> MatitaInit.die_usage ()
+ | files ->
+ let uris_to_remove =
+ List.fold_left
+ (fun uris_to_remove suri ->
+ let uri =
+ try
+ UM.buri_of_uri (UM.uri_of_string suri)
+ with UM.IllFormedUri _ ->
+ let u =
+ DependenciesParser.baseuri_of_script ~include_paths:[] suri in
+ if String.length u < 5 || String.sub u 0 5 <> "cic:/" then begin
+ HLog.error (sprintf "File %s defines a bad baseuri: %s"
+ suri u);
+ exit 1
+ end else
+ u
+ in
+ uri::uris_to_remove) [] files
+ in
+ LibraryClean.clean_baseuris ~basedir uris_to_remove