@@ -8156,7 +8156,7 @@ let revise_merlin new_content =
81568156 output_string ochan merlin_trailer ;
81578157 output_string ochan " \n " ;
81588158 close_out ochan
8159- else if header > = 0 && tail > = 0 then
8159+ else if header > = 0 && tail > = 0 then
81608160 (* there is one, hit it everytime,
81618161 should be fixed point
81628162 *)
@@ -8207,12 +8207,12 @@ let write_ninja_file bsc_dir cwd =
82078207 FLG -ppx %s\n \
82088208 " lib_ocaml_dir lib_ocaml_dir bsppx
82098209 ) in
8210- let () =
8211- match Bsb_default. get_bsc_flags () with
8210+ let () =
8211+ match Bsb_default. get_bsc_flags () with
82128212 | [] -> ()
8213- | xs ->
8214- Buffer. add_string buffer
8215- (Printf. sprintf " \n FLG %s" (String. concat " " xs) ) in
8213+ | xs ->
8214+ Buffer. add_string buffer
8215+ (Printf. sprintf " \n FLG %s" (String. concat " " xs) ) in
82168216 let () =
82178217 Bsb_default. get_bs_dependencies ()
82188218 |> List. iter (fun package ->
@@ -8270,7 +8270,7 @@ let write_ninja_file bsc_dir cwd =
82708270 |? (Bsb_build_schemas. refmt, `Str (Bsb_default. set_refmt ~cwd ))
82718271
82728272 |? (Bsb_build_schemas. sources, `Obj (fun x ->
8273- let res : Bsb_build_ui.t =
8273+ let res : Bsb_build_ui.t =
82748274 Bsb_build_ui. parsing_source
82758275 Bsb_build_ui. lib_dir_index
82768276 Filename. current_dir_name x in
@@ -8279,7 +8279,7 @@ let write_ninja_file bsc_dir cwd =
82798279 |? (Bsb_build_schemas. sources, `Arr (fun xs ->
82808280
82818281 let res : Bsb_build_ui.t =
8282- Bsb_build_ui. parsing_sources
8282+ Bsb_build_ui. parsing_sources
82838283 Bsb_build_ui. lib_dir_index
82848284 Filename. current_dir_name xs
82858285 in
@@ -8353,50 +8353,50 @@ let separator = "--"
83538353
83548354
83558355let internal_package_specs = " -internal-package-specs"
8356- let internal_install = " -internal-install"
8357- let build_bs_deps package_specs =
8358- let bsc_dir = Bsb_build_util. get_bsc_dir cwd in
8359- let bsb_exe = bsc_dir // " bsb.exe" in
8360- Bsb_default. walk_all_deps true cwd
8361- (fun top cwd ->
8362- if not top then
8356+ let internal_install = " -internal-install"
8357+ let build_bs_deps package_specs =
8358+ let bsc_dir = Bsb_build_util. get_bsc_dir cwd in
8359+ let bsb_exe = bsc_dir // " bsb.exe" in
8360+ Bsb_default. walk_all_deps true cwd
8361+ (fun top cwd ->
8362+ if not top then
83638363 Bsb_unix. run_command_execv true
8364- {cmd = bsb_exe;
8365- cwd = cwd;
8366- args =
8364+ {cmd = bsb_exe;
8365+ cwd = cwd;
8366+ args =
83678367 [| bsb_exe ; internal_install ; no_dev; internal_package_specs; package_specs; regen; separator |]})
83688368
83698369let annoymous filename =
83708370 String_vec. push filename targets
83718371
8372- let watch_mode = ref false
8373- let make_world = ref false
8372+ let watch_mode = ref false
8373+ let make_world = ref false
83748374
83758375let lib_bs = " lib" // " bs"
83768376let lib_amdjs = " lib" // " amdjs"
83778377let lib_goog = " lib" // " goog"
83788378let lib_js = " lib" // " js"
83798379let lib_ocaml = " lib" // " ocaml" (* installed binary artifacts *)
8380- let clean_bs_garbage cwd =
8380+ let clean_bs_garbage cwd =
83818381 print_string " Doing cleaning in " ;
8382- print_endline cwd;
8383- let aux x =
8384- let x = (cwd // x) in
8385- if Sys. file_exists x then
8386- Bsb_unix. remove_dir_recursive x in
8387- try
8388- aux lib_bs ;
8389- aux lib_amdjs ;
8382+ print_endline cwd;
8383+ let aux x =
8384+ let x = (cwd // x) in
8385+ if Sys. file_exists x then
8386+ Bsb_unix. remove_dir_recursive x in
8387+ try
8388+ aux lib_bs ;
8389+ aux lib_amdjs ;
83908390 aux lib_goog;
83918391 aux lib_js ;
8392- aux lib_ocaml
8393- with
8394- e ->
8392+ aux lib_ocaml
8393+ with
8394+ e ->
83958395 prerr_endline (" Failed to clean due to " ^ Printexc. to_string e)
83968396
8397- let clean_bs_deps () =
8398- Bsb_default. walk_all_deps true cwd (fun top cwd ->
8399- clean_bs_garbage cwd
8397+ let clean_bs_deps () =
8398+ Bsb_default. walk_all_deps true cwd (fun top cwd ->
8399+ clean_bs_garbage cwd
84008400 )
84018401
84028402
@@ -8407,22 +8407,22 @@ let bsb_main_flags =
84078407 " -w" , Arg. Set watch_mode,
84088408 " Watch mode" ;
84098409 internal_install, Arg. Set Bsb_config. install,
8410- " (internal)Install public interface or not, when make-world it will install(in combination with -regen to make sure it has effect)" ;
8411- no_dev, Arg. Set Bsb_config. no_dev,
8410+ " (internal)Install public interface or not, when make-world it will install(in combination with -regen to make sure it has effect)" ;
8411+ no_dev, Arg. Set Bsb_config. no_dev,
84128412 " (internal)Build dev dependencies in make-world and dev group(in combination with -regen)" ;
84138413 regen, Arg. Set force_regenerate,
84148414 " Always regenerate build.ninja no matter bsconfig.json is changed or not (for debugging purpose)"
84158415 ;
8416- internal_package_specs, Arg. String Bsb_default. internal_override_package_specs,
8417- " (internal)Overide package specs (in combination with -regen)" ;
8416+ internal_package_specs, Arg. String Bsb_default. internal_override_package_specs,
8417+ " (internal)Overide package specs (in combination with -regen)" ;
84188418 " -clean-world" , Arg. Unit clean_bs_deps,
84198419 " Clean all bs dependencies" ;
84208420 " -make-world" , Arg. Set make_world,
84218421 " Build all dependencies and itself "
84228422 ]
84238423
8424- (* * Regenerate ninja file and return None if we dont need regenerate
8425- otherwise return some info
8424+ (* * Regenerate ninja file and return None if we dont need regenerate
8425+ otherwise return some info
84268426*)
84278427let regenerate_ninja cwd bsc_dir forced : Bsb_default.package_specs option =
84288428 let output_deps = Bsb_config. lib_bs // bsdeps in
@@ -8446,43 +8446,43 @@ let regenerate_ninja cwd bsc_dir forced : Bsb_default.package_specs option =
84468446 Some (Bsb_default. get_package_specs () )
84478447 (* This makes sense since we did parse the json file *)
84488448 end
8449- else None
8449+ else None
84508450
84518451let ninja_error_message = " ninja (required for bsb build system) is not installed, \n \
84528452 please visit https://github.com/ninja-build/ninja to have it installed\n "
8453- let () =
8454- Printexc. register_printer (function
8455- | Unix. Unix_error (Unix. ENOENT, "execvp" , "ninja" ) ->
8453+ let () =
8454+ Printexc. register_printer (function
8455+ | Unix. Unix_error (Unix. ENOENT, "execvp" , "ninja" ) ->
84568456 Some ninja_error_message
84578457 | _ -> None
84588458 )
84598459
8460- let print_string_args (args : string array ) =
8461- for i = 0 to Array. length args - 1 do
8462- print_string (Array. unsafe_get args i) ;
8460+ let print_string_args (args : string array ) =
8461+ for i = 0 to Array. length args - 1 do
8462+ print_string (Array. unsafe_get args i) ;
84638463 print_string " " ;
8464- done ;
8465- print_newline ()
8464+ done ;
8465+ print_newline ()
84668466
84678467(* Note that [keepdepfile] only makes sense when combined with [deps] for optimizatoin *)
8468- let ninja_command ninja ninja_args =
8468+ let ninja_command ninja ninja_args =
84698469 let ninja_args_len = Array. length ninja_args in
8470- if ninja_args_len = 0 then
8471- begin
8472- let args = [|" ninja" ; " -C" ; Bsb_config. lib_bs |] in
8473- print_string_args args ;
8474- Unix. execvp ninja args
8475- end
8476- else
8477- let fixed_args_length = 3 in
8470+ if ninja_args_len = 0 then
8471+ begin
8472+ let args = [|" ninja" ; " -C" ; Bsb_config. lib_bs |] in
8473+ print_string_args args ;
8474+ Unix. execvp ninja args
8475+ end
8476+ else
8477+ let fixed_args_length = 3 in
84788478 let args = (Array. init (fixed_args_length + ninja_args_len)
8479- (fun i -> match i with
8479+ (fun i -> match i with
84808480 | 0 -> " ninja"
84818481 | 1 -> " -C"
84828482 | 2 -> Bsb_config. lib_bs
8483- | _ -> Array. unsafe_get ninja_args (i - fixed_args_length) )) in
8483+ | _ -> Array. unsafe_get ninja_args (i - fixed_args_length) )) in
84848484 print_string_args args ;
8485- Unix. execvp ninja args
8485+ Unix. execvp ninja args
84868486
84878487
84888488
@@ -8502,37 +8502,37 @@ let usage = "Usage : bsb.exe <bsb-options> <files> -- <ninja_options>\n\
85028502
85038503
85048504 (*
8505- let bsb_exe = bsc_dir // "bsb.exe" in
8506- Bsb_default.walk_all_deps true cwd
8505+ let bsb_exe = bsc_dir // "bsb.exe" in
8506+ Bsb_default.walk_all_deps true cwd
85078507 (fun top cwd -> Bsb_unix.run_command_execv (not top)
85088508 {cmd = bsb_exe; cwd = cwd; args = [| bsb_exe ; separator; "-t" ; "clean"|]})
85098509 *)
8510- let make_world_deps deps =
8510+ let make_world_deps deps =
85118511 print_endline " \n Making the dependency world!" ;
8512- let deps =
8513- match deps with
8514- | None ->
8515- let json = Ext_json. parse_json_from_file Literals. bsconfig_json in
8516- begin match json with
8517- | `Obj map ->
8518- map
8519- |? (Bsb_build_schemas. package_specs,
8512+ let deps =
8513+ match deps with
8514+ | None ->
8515+ let json = Ext_json. parse_json_from_file Literals. bsconfig_json in
8516+ begin match json with
8517+ | `Obj map ->
8518+ map
8519+ |? (Bsb_build_schemas. package_specs,
85208520 `Arr Bsb_default. set_package_specs_from_array)
85218521 |> ignore ;
85228522 Bsb_default. get_package_specs ()
85238523 | _ -> assert false
8524- end
8525- | Some spec -> spec in
8526- build_bs_deps ( String_set. fold
8527- (fun k acc -> k ^ " ," ^ acc ) deps Ext_string. empty )
8524+ end
8525+ | Some spec -> spec in
8526+ build_bs_deps ( String_set. fold
8527+ (fun k acc -> k ^ " ," ^ acc ) deps Ext_string. empty )
85288528let () =
85298529 let bsc_dir = Bsb_build_util. get_bsc_dir cwd in
8530- let ninja =
8531- if Sys. win32 then
8530+ let ninja =
8531+ if Sys. win32 then
85328532 bsc_dir // " ninja.exe"
8533- else
8534- " ninja"
8535- in
8533+ else
8534+ " ninja"
8535+ in
85368536 (* try *)
85378537 (* see discussion #929 *)
85388538 if Array. length Sys. argv < = 1 then
@@ -8546,30 +8546,33 @@ let () =
85468546 | `No_split
85478547 ->
85488548 begin
8549- Arg. parse bsb_main_flags annoymous usage;
8549+ Arg. parse bsb_main_flags annoymous usage;
85508550 (* [-make-world] should never be combined with [-package-specs] *)
8551- if ! make_world then
8551+ if ! make_world then begin
85528552 (* don't regenerate files when we only run [bsb -clean-world] *)
8553- let deps = regenerate_ninja cwd bsc_dir ! force_regenerate in
8554- make_world_deps deps ;
8555- if ! watch_mode then
8556- watch ()
8557- (* ninja is not triggered in this case *)
8553+ let deps = regenerate_ninja cwd bsc_dir ! force_regenerate in
8554+ make_world_deps deps
8555+ end ;
8556+ if ! watch_mode then begin
8557+ watch ()
8558+ (* ninja is not triggered in this case *)
8559+ end
85588560 end
85598561 | `Split (bsb_args,ninja_args)
85608562 ->
85618563 begin
85628564 Arg. parse_argv bsb_args bsb_main_flags annoymous usage ;
8563- let deps = (regenerate_ninja cwd bsc_dir ! force_regenerate) in
8565+ let deps = (regenerate_ninja cwd bsc_dir ! force_regenerate) in
85648566 (* [-make-world] should never be combined with [-package-specs] *)
8565- if ! make_world then
8566- make_world_deps deps ;
8567- if ! watch_mode then watch ()
8567+ if ! make_world then
8568+ make_world_deps deps ;
8569+ if ! watch_mode then watch ()
85688570 else ninja_command ninja ninja_args
85698571 end
85708572 end
85718573(* with x ->
85728574 prerr_endline @@ Printexc.to_string x ;
85738575 exit 2*)
8574- (* with [try, with], there is no stacktrace anymore .. *)
8576+ (* with [try, with], there is no stacktrace anymore .. *)
8577+
85758578end
0 commit comments