aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/rlx_prv_assembler.erl6
-rw-r--r--src/rlx_rel_discovery.erl18
-rw-r--r--test/rlx_discover_SUITE.erl6
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),