@@ -2723,6 +2723,9 @@ val lib_bs : string
27232723val rev_lib_bs_prefix : string -> string
27242724
27252725val no_dev : bool ref
2726+
2727+ (* * default not install, only when -make-world, its dependencies will be installed *)
2728+ val install : bool ref
27262729end = struct
27272730#1 " bsb_config.ml"
27282731(* Copyright (C) 2015-2016 Bloomberg Finance L.P.
@@ -2770,6 +2773,8 @@ let proj_rel path = lazy_src_root_dir // path
27702773*)
27712774
27722775let no_dev = ref false
2776+
2777+ let install = ref false
27732778end
27742779module Ext_array : sig
27752780#1 " ext_array.mli"
@@ -7504,6 +7509,7 @@ let handle_file_group oc ~package_specs ~js_post_build_cmd acc (group: Bsb_buil
75047509 bs_dependencies
75057510 info =
75067511 let installable =
7512+ ! Bsb_config. install &&
75077513 match group.public with
75087514 | Export_all -> true
75097515 | Export_none -> false
@@ -8353,15 +8359,18 @@ let separator = "--"
83538359
83548360
83558361let internal_package_specs = " -internal-package-specs"
8362+ let internal_install = " -internal-install"
83568363let build_bs_deps package_specs =
83578364 let bsc_dir = Bsb_build_util. get_bsc_dir cwd in
83588365 let bsb_exe = bsc_dir // " bsb.exe" in
83598366 Bsb_default. walk_all_deps true cwd
83608367 (fun top cwd ->
83618368 if not top then
83628369 Bsb_unix. run_command_execv true
8363- {cmd = bsb_exe; cwd = cwd; args =
8364- [| bsb_exe ; no_dev; internal_package_specs; package_specs; regen; separator |]})
8370+ {cmd = bsb_exe;
8371+ cwd = cwd;
8372+ args =
8373+ [| bsb_exe ; internal_install ; no_dev; internal_package_specs; package_specs; regen; separator |]})
83658374
83668375let annoymous filename =
83678376 String_vec. push filename targets
@@ -8394,10 +8403,16 @@ let clean_bs_deps () =
83948403 Bsb_default. walk_all_deps true cwd (fun top cwd ->
83958404 clean_bs_garbage cwd
83968405 )
8406+
8407+
8408+
8409+
83978410let bsb_main_flags =
83988411 [
83998412 " -w" , Arg. Set watch_mode,
84008413 " Watch mode" ;
8414+ internal_install, Arg. Set Bsb_config. install,
8415+ " (internal)Install public interface or not, when make-world it will install(in combination with -regen to make sure it has effect)" ;
84018416 no_dev, Arg. Set Bsb_config. no_dev,
84028417 " (internal)Build dev dependencies in make-world and dev group(in combination with -regen)" ;
84038418 regen, Arg. Set force_regenerate,
@@ -8542,9 +8557,9 @@ let () =
85428557 (* don't regenerate files when we only run [bsb -clean-world] *)
85438558 let deps = regenerate_ninja cwd bsc_dir ! force_regenerate in
85448559 make_world_deps deps ;
8545- if ! watch_mode then
8546- watch ()
8547- (* ninja is not triggered in this case *)
8560+ if ! watch_mode then
8561+ watch ()
8562+ (* ninja is not triggered in this case *)
85488563 end
85498564 | `Split (bsb_args,ninja_args)
85508565 ->
0 commit comments