aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGrigory Starinkin <[email protected]>2018-11-04 13:48:38 +0000
committerGrigory Starinkin <[email protected]>2018-11-04 14:50:02 +0000
commitfc2170f006485b5f9705a8ff5e90b92d431c7c2c (patch)
tree777d1a65158daea70b62f9b31570185c6fc287d8 /src
parent9f9989167b04c1335c23fafe9945f490abbff799 (diff)
downloadrelx-fc2170f006485b5f9705a8ff5e90b92d431c7c2c.tar.gz
relx-fc2170f006485b5f9705a8ff5e90b92d431c7c2c.tar.bz2
relx-fc2170f006485b5f9705a8ff5e90b92d431c7c2c.zip
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(_, _) ->
[].