aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Sloughter <[email protected]>2019-05-20 09:17:29 -0600
committerGitHub <[email protected]>2019-05-20 09:17:29 -0600
commitcca2a6cade4d97b5b36ca7c055d25677860bdc5d (patch)
tree6d56227c213afccd11b850e4f6e445630f7f13b2 /src
parent3420d80940eec374739d465c2f533d4917f83f42 (diff)
parentfc2170f006485b5f9705a8ff5e90b92d431c7c2c (diff)
downloadrelx-cca2a6cade4d97b5b36ca7c055d25677860bdc5d.tar.gz
relx-cca2a6cade4d97b5b36ca7c055d25677860bdc5d.tar.bz2
relx-cca2a6cade4d97b5b36ca7c055d25677860bdc5d.zip
Merge pull request #676 from velimir/providers-api
allow specify additional providers via api and cli calls
Diffstat (limited to 'src')
-rw-r--r--src/relx.erl3
-rw-r--r--src/rlx_cmd_args.erl13
2 files changed, 15 insertions, 1 deletions
diff --git a/src/relx.erl b/src/relx.erl
index 8027fd4..b5c3ec5 100644
--- a/src/relx.erl
+++ b/src/relx.erl
@@ -214,7 +214,8 @@ opt_spec_list() ->
{sys_config, undefined, "sys_config", string, "Path to a file to use for sys.config"},
{system_libs, undefined, "system_libs", string, "Path to dir of Erlang system libs"},
{version, undefined, "version", undefined, "Print relx version"},
- {root_dir, $r, "root", string, "The project root directory"}].
+ {root_dir, $r, "root", string, "The project root directory"},
+ {provider, undefined, "provider", atom, "Specify an additional relx provider"}].
-spec format_error(Reason::term()) -> string().
format_error({invalid_return_value, Provider, Value}) ->
diff --git a/src/rlx_cmd_args.erl b/src/rlx_cmd_args.erl
index b20344c..4f5e9da 100644
--- a/src/rlx_cmd_args.erl
+++ b/src/rlx_cmd_args.erl
@@ -285,6 +285,19 @@ create(include_erts, Opts) ->
create(warnings_as_errors, Opts) ->
WarningsAsErrors = proplists:get_value(warnings_as_errors, Opts, false),
{warnings_as_errors, WarningsAsErrors};
+create(provider, Opts) ->
+ case proplists:get_all_values(provider, Opts) of
+ [] ->
+ [];
+ Providers ->
+ {add_providers, Providers}
+ end;
+create(add_providers, Opts) ->
+ Providers = proplists:get_value(add_providers, Opts, []),
+ {add_providers, Providers};
+create(providers, Opts) ->
+ Providers = proplists:get_value(providers, Opts, []),
+ {providers, Providers};
create(_, _) ->
[].