Преглед на файлове

Merge pull request #2427 from garazdawi/lukas/fix-relup-arguments

Fix relup cmd arguments and add validation
pull/2428/head
Tristan Sloughter преди 4 години
committed by GitHub
родител
ревизия
e43dd6bb50
No known key found for this signature in database GPG ключ ID: 4AEE18F83AFDEB23
променени са 1 файла, в които са добавени 18 реда и са изтрити 3 реда
  1. +18
    -3
      src/rebar_relx.erl

+ 18
- 3
src/rebar_relx.erl Целия файл

@ -49,10 +49,21 @@ do(Provider, State) ->
case Provider of
relup ->
ToVsn = proplists:get_value(relvsn, Opts, undefined),
{Release, ToVsn} =
%% hd/1 can't fail because --all is not a valid option to relup
case Releases of
[{Rel,Vsn}|_] when is_atom(Rel) ->
%% This is returned if --relvsn and --relname are given
{Rel, Vsn};
[undefined|_] ->
erlang:error(?PRV_ERROR(unknown_release));
[Rel|_] when is_atom(Rel) ->
erlang:error(?PRV_ERROR(unknown_vsn))
end,
UpFromVsn = proplists:get_value(upfrom, Opts, undefined),
%% hd/1 can't fail because --all is not a valid option to relup
relx:build_relup(hd(Releases), ToVsn, UpFromVsn, RelxState);
relx:build_relup(Release, ToVsn, UpFromVsn, RelxState);
_ ->
parallel_run(Provider, Releases, all_apps(State), RelxState)
end,
@ -62,6 +73,10 @@ do(Provider, State) ->
{ok, State}.
-spec format_error(any()) -> iolist().
format_error(unknown_release) ->
"Option --relname is missing";
format_error(unknown_vsn) ->
"Option --relvsn is missing";
format_error(all_relup) ->
"Option --all can not be applied to `relup` command";
format_error(Error) ->

Зареждане…
Отказ
Запис