diff options
-rw-r--r-- | src/rlx_prv_assembler.erl | 6 | ||||
-rw-r--r-- | src/rlx_rel_discovery.erl | 18 | ||||
-rw-r--r-- | test/rlx_discover_SUITE.erl | 6 |
3 files changed, 19 insertions, 11 deletions
diff --git a/src/rlx_prv_assembler.erl b/src/rlx_prv_assembler.erl index fba21ca..ccac513 100644 --- a/src/rlx_prv_assembler.erl +++ b/src/rlx_prv_assembler.erl @@ -937,8 +937,8 @@ case \"$1\" in # however, for debugging, sometimes start_clean.boot is useful. # For e.g. 'setup', one may even want to name another boot script. case \"$1\" in - console) [ -f $REL_DIR/$REL_NAME.boot ] && BOOTFILE=$REL_NAME || BOOTFILE=start ;; - console_clean) BOOTFILE=start_clean ;; + console) [ -f $REL_DIR/$REL_NAME.boot ] && BOOTFILE=$REL_DIR/$REL_NAME || BOOTFILE=$REL_DIR/start ;; + console_clean) BOOTFILE=$ROOTDIR/bin/start_clean ;; console_boot) shift BOOTFILE=\"$1\" @@ -948,7 +948,7 @@ case \"$1\" in # Setup beam-required vars EMU=beam PROGNAME=`echo $0 | sed 's/.*\\///'` - CMD=\"$BINDIR/erlexec -boot $REL_DIR/$BOOTFILE -mode embedded -config $CONFIG_PATH -args_file $VMARGS_PATH\" + CMD=\"$BINDIR/erlexec -boot $BOOTFILE -mode embedded -config $CONFIG_PATH -args_file $VMARGS_PATH\" export EMU export PROGNAME diff --git a/src/rlx_rel_discovery.erl b/src/rlx_rel_discovery.erl index 837ebe6..23c0ab9 100644 --- a/src/rlx_rel_discovery.erl +++ b/src/rlx_rel_discovery.erl @@ -38,12 +38,18 @@ -spec do(rlx_state:t(), [file:name()], [rlx_app_info:t()]) -> {ok, [rlx_release:t()]} | relx:error(). do(State, LibDirs, AppMeta) -> - ec_cmd_log:info(rlx_state:log(State), - fun() -> - ["Resolving available OTP Releases from directories:\n", - string:join([[rlx_util:indent(2), LibDir] || LibDir <- LibDirs], "\n")] - end), - resolve_rel_metadata(State, LibDirs, AppMeta). + case rlx_state:get(State, disable_rel_discovery, false) of + true -> + ec_cmd_log:debug(rlx_state:log(State), "Disbaled resolving of OTP releases"), + {ok, []}; + false -> + ec_cmd_log:info(rlx_state:log(State), + fun() -> + ["Resolving available OTP Releases from directories:\n", + string:join([[rlx_util:indent(2), LibDir] || LibDir <- LibDirs], "\n")] + end), + resolve_rel_metadata(State, LibDirs, AppMeta) + end. -spec format_error([ErrorDetail::term()]) -> iolist(). format_error(ErrorDetails) diff --git a/test/rlx_discover_SUITE.erl b/test/rlx_discover_SUITE.erl index e75ea36..0fb1ad7 100644 --- a/test/rlx_discover_SUITE.erl +++ b/test/rlx_discover_SUITE.erl @@ -110,10 +110,12 @@ no_beam_case(Config) -> AppDir = filename:join([LibDir2, BadName]), write_app_file(AppDir, BadName, BadVsn), State0 = proplists:get_value(state, Config), - {DiscoverProvider, {ok, State1}} = rlx_provider:new(rlx_prv_discover, State0), + %% Deliberately disable release discovery when running `rlx_prv_discover` + State1 = rlx_state:put(State0, disable_rel_discovery, true), + {DiscoverProvider, {ok, State2}} = rlx_provider:new(rlx_prv_discover, State1), ?assertMatch({ok, _}, - rlx_provider:do(DiscoverProvider, State1)). + rlx_provider:do(DiscoverProvider, State2)). bad_ebin_case(Config) -> LibDir1 = proplists:get_value(lib1, Config), |