List.map
(fun l ->
match Str.split (Str.regexp "=") l with
- | [k;v] -> Pcre.replace ~pat:" " k, Pcre.replace ~pat:" " v
+ | [k;v] -> Pcre.replace ~pat:"^ *" k, Pcre.replace ~pat:" *$" v
| _ -> raise (Failure ("Malformed root file: " ^ rootpath)))
lines
;;
HLog.error (rootpath ^ " sets an incorrect baseuri: " ^ buri);
ensure_trailing_slash root, remove_trailing_slash uri, path
with Failure "find_in" ->
- HLog.error ("Unable to find: "^file^"\nPaths explored:\n");
- List.iter (fun x -> HLog.error (" - "^x^"\n")) include_paths;
+ HLog.error ("Unable to find: "^file^"\nPaths explored:");
+ List.iter (fun x -> HLog.error (" - "^x)) include_paths;
raise (NoRootFor file)
;;
begin
let l = input_line ic in
match Str.split (Str.regexp " ") l with
- | [] -> HLog.error ("malformed deps file: " ^ f); exit 1
+ | [] ->
+ HLog.error ("Malformed deps file: " ^ f);
+ raise (Failure ("Malformed deps file: " ^ f))
| he::tl -> deps := (he,tl) :: !deps
end
done; !deps
let todo =
let local, remote =
List.partition
- (fun (file,d) -> d<>[] || F.root_of local_options file = Some root)
+ (fun (file,d) ->
+ d<>[] || F.root_of local_options file = Some root)
todo
in
remote @ local
| Some froot ->
make froot [file]
| None ->
- HLog.error ("No root for: "^F.string_of_source_object file);
+ HLog.error ("No root for: "^F.string_of_source_object file);
false
in
if rc then (file::c,f)
end
let write_deps_file root deps =
- let oc = open_out "depends" in
- List.iter (fun (t,d) -> output_string oc (t^" "^String.concat " " d^"\n")) deps;
+ let oc = open_out (root ^ "/depends") in
+ List.iter
+ (fun (t,d) -> output_string oc (t^" "^String.concat " " d^"\n"))
+ deps;
close_out oc;
- HLog.message ("Generated " ^ Sys.getcwd () ^ "/depends")
+ HLog.message ("Generated: " ^ root ^ "/depends")
;;