X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fcomponents%2Fbinaries%2Fprobe%2Fprobe.ml;h=55b942cc10a2552bd5b2114f63c7ce4fdd7ac3ed;hb=6d3e67a714d59ff5d0da7aff72323a6d2ac07db4;hp=3752558387db1bf957b83f4124dce39b884c6c9f;hpb=cbbbc763dc971b43fe74f1d08b797de5d1dc4f17;p=helm.git diff --git a/matita/components/binaries/probe/probe.ml b/matita/components/binaries/probe/probe.ml index 375255838..55b942cc1 100644 --- a/matita/components/binaries/probe/probe.ml +++ b/matita/components/binaries/probe/probe.ml @@ -19,6 +19,7 @@ module H = HLog module O = Options module M = MatitaList +module D = MatitaRemove module S = NCicScan module E = Engine @@ -28,14 +29,21 @@ let no_log _ _ = () let init registry = R.load_from registry; - B.init (); - C.set_trust trusted; - H.set_log_callback no_log - -let scan str = - M.from_string (R.get "matita.basedir") str; + if !O.no_init then begin + B.init (); + C.set_trust trusted; + H.set_log_callback no_log; + O.no_init := false; + end + +let scan_uri devel str = + M.from_string (R.get "matita.basedir") devel str; S.scan () +let scan_from devel = + let devel, uri = E.get_uri devel in + scan_uri devel uri + let set_g () = O.exclude := `Generated :: !O.exclude let set_p () = O.exclude := `Provided :: !O.exclude @@ -46,16 +54,21 @@ let out_on () = E.out_length !O.objs let out_os () = E.out_uris !O.objs -let out_sn () = E.out_length !O.srcs +let out_sn () = E.out_length !O.srcs let out_ss () = E.out_uris !O.srcs let process s = - if L.is_uri s then scan s else init s + if L.is_uri s then scan_uri "" s + else if E.is_registry s then init s + else scan_from s + +let clear () = + D.objects (); O.clear () let _ = let help = "Usage: probe [ -X | | -gp | HELM (base)uri | -i | -on | os | -sn | -ss ]*" in - let help_X = " Reset options and counters" in + let help_X = " Clear configuration, options and counters" in let help_g = " Exclude generated objects" in let help_i = " Print the total intrinsic size" in let help_p = " Exclude provided objects" in @@ -64,12 +77,13 @@ let _ = let help_sn = " Print the number of sources" in let help_ss = " Print the list of sources" in A.parse [ - "-X" , A.Unit O.clear, help_X; + "-X" , A.Unit clear, help_X; "-g" , A.Unit set_g, help_g; "-i" , A.Unit out_i, help_i; - "-p" , A.Unit set_p, help_p; "-on", A.Unit out_on, help_on; "-os", A.Unit out_os, help_os; + "-p" , A.Unit set_p, help_p; "-sn", A.Unit out_sn, help_sn; "-ss", A.Unit out_ss, help_ss; - ] process help + ] process help; + D.objects ()