Skip to content

Commit

Permalink
Merge pull request #142 from basho/bugfix/jnd/effective-legacy
Browse files Browse the repository at this point in the history
Test `riak config` commands with legacy app.config / vm.args

Reviewed-by: Vagabond
  • Loading branch information
borshop committed Apr 17, 2014
2 parents 5054007 + 4cedced commit 6097f46
Showing 1 changed file with 42 additions and 18 deletions.
60 changes: 42 additions & 18 deletions src/cuttlefish_escript.erl
Original file line number Diff line number Diff line change
Expand Up @@ -99,26 +99,50 @@ main(Args) ->
effective(ParsedArgs) ->
lager:debug("cuttlefish `effective`", []),
EtcDir = proplists:get_value(etc_dir, ParsedArgs),
AdvancedConfigFile = filename:join(EtcDir, "advanced.config"),
AdvConfig = case filelib:is_file(AdvancedConfigFile) of
true ->
lager:debug("~s/advanced.config detected, overlaying proplists", [EtcDir]),
case file:consult(AdvancedConfigFile) of
{ok, [AdvancedConfig]} ->
AdvancedConfig;
{error, Error} ->
lager:error("Error parsing advanced.config: ~s", [file:format_error(Error)]),
stop_deactivate()
end;

%% Should we even show this?
{AppConfigExists, ExistingAppConfigName} = check_existence(EtcDir, "app.config"),
{VMArgsExists, ExistingVMArgsName} = check_existence(EtcDir, "vm.args"),

case {AppConfigExists, VMArgsExists} of
{false, false} ->
AdvancedConfigFile = filename:join(EtcDir, "advanced.config"),
AdvConfig = case filelib:is_file(AdvancedConfigFile) of
true ->
lager:debug("~s/advanced.config detected, overlaying proplists", [EtcDir]),
case file:consult(AdvancedConfigFile) of
{ok, [AdvancedConfig]} ->
AdvancedConfig;
{error, Error} ->
lager:error("Error parsing advanced.config: ~s", [file:format_error(Error)]),
stop_deactivate()
end;
_ ->
[]
end,

EffectiveConfig = cuttlefish_effective:build(
load_conf(ParsedArgs),
load_schema(ParsedArgs),
AdvConfig),
_ = [ ?STDOUT(Line, []) || Line <- EffectiveConfig],
ok;
_ ->
[]
?STDOUT("Disabling cuttlefish, legacy configuration files found:", []),
case AppConfigExists of
true ->
?STDOUT(" ~s", [ExistingAppConfigName]);
_ ->
ok
end,
case VMArgsExists of
true ->
?STDOUT(" ~s", [ExistingVMArgsName]);
_ ->
ok
end,
?STDOUT("Effective config is only visible for cuttlefish conf files.", [])
end,

EffectiveConfig = cuttlefish_effective:build(
load_conf(ParsedArgs),
load_schema(ParsedArgs),
AdvConfig),
_ = [ ?STDOUT(Line, []) || Line <- EffectiveConfig],
ok.

%% This is the function that dumps the docs for a single setting
Expand Down

0 comments on commit 6097f46

Please sign in to comment.