aboutsummaryrefslogtreecommitdiffstats
path: root/src/rcl_cmd_args.erl
diff options
context:
space:
mode:
authorEric <[email protected]>2012-12-30 17:34:25 -0500
committerEric <[email protected]>2012-12-30 17:34:25 -0500
commit306d584398696d08e3ca26d6864fa71cdcfe4012 (patch)
tree54c33eb9b6dc7cb249ef85d402bd54df5a4f6ed3 /src/rcl_cmd_args.erl
parent8cbfdd28679872a1791fee615585aec6c03dd5f9 (diff)
downloadrelx-306d584398696d08e3ca26d6864fa71cdcfe4012.tar.gz
relx-306d584398696d08e3ca26d6864fa71cdcfe4012.tar.bz2
relx-306d584398696d08e3ca26d6864fa71cdcfe4012.zip
only allow relcool to take a single config
Diffstat (limited to 'src/rcl_cmd_args.erl')
-rw-r--r--src/rcl_cmd_args.erl13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/rcl_cmd_args.erl b/src/rcl_cmd_args.erl
index dc176be..3bb9f41 100644
--- a/src/rcl_cmd_args.erl
+++ b/src/rcl_cmd_args.erl
@@ -34,7 +34,8 @@
relcool:error().
args2state({error, Detail}) ->
?RCL_ERROR({opt_parse, Detail});
-args2state({ok, {Opts, Targets}}) ->
+args2state({ok, {Opts, Target}})
+ when erlang:length(Target) == 0; erlang:length(Target) == 1 ->
RelName = proplists:get_value(relname, Opts, undefined),
RelVsn = proplists:get_value(relvsn, Opts, undefined),
case create_log(Opts,
@@ -43,15 +44,19 @@ args2state({ok, {Opts, Targets}}) ->
Error = {error, _} ->
Error;
{ok, CommandLineConfig} ->
- case validate_configs(Targets) of
+ case validate_configs(Target) of
Error = {error, _} ->
Error;
{ok, Configs} ->
- {ok, {rcl_state:new(CommandLineConfig, Configs), Configs}}
+ {ok, rcl_state:new(CommandLineConfig, Configs)}
end
- end.
+ end;
+args2state({ok, {_Opts, Targets}}) ->
+ ?RCL_ERROR({invalid_targets, Targets}).
-spec format_error(Reason::term()) -> iolist().
+format_error({invalid_targets, Targets}) ->
+ io_lib:format("One config must be specified! not ~p~n", [Targets]);
format_error({opt_parse, {invalid_option, Opt}}) ->
io_lib:format("invalid option ~s~n", [Opt]);
format_error({opt_parse, Arg}) ->