module HG = Http_getter
module GA = GrafiteAst
-module T = Types
-module G = Grafite
+module T = Types
+module G = Grafite
module O = Options
type script = {
let default_scripts = 2
+let suffix = ".conf.xml"
+
let load_registry registry =
- let suffix = ".conf.xml" in
let registry =
if Filename.check_suffix registry suffix then registry
else registry ^ suffix
| None -> List.rev files
| Some l ->
let l = trim l in
- if List.mem l st.excludes then aux files else aux (l :: files)
- in
+ if List.mem l st.excludes then aux files else
+ if !O.sources = [] || List.mem l !O.sources then aux (l :: files) else
+ aux files
+ in
let files = aux [] in
let _ = Unix.close_process_in ich in
{st with files = files}
let set_items st name items =
let i = get_index st name in
let script = st.scripts.(i) in
- let contents = List.rev_append items script.contents in
+ let contents = List.rev_append (X.list_uniq items) script.contents in
st.scripts.(i) <- {script with name = name; contents = contents}
let set_heading st name =
Filename.concat st.output_path (name ^ ext)
let get_iparams st name =
+ let debug debug = GA.IPDebug debug in
let map = function
+ | "comments" -> GA.IPComments
| "nodefaults" -> GA.IPNoDefaults
| "coercions" -> GA.IPCoercions
- | "comments" -> GA.IPComments
- | s -> failwith ("unknown inline parameter: " ^ s)
+ | "cr" -> GA.IPCR
+ | s ->
+ try Scanf.sscanf s "debug-%u" debug with
+ | Scanf.Scan_failure _
+ | Failure _
+ | End_of_file ->
+ failwith ("unknown inline parameter: " ^ s)
in
List.map map (X.list_assoc_all name st.iparams)