Add possibility to specify rebar config for the "main" application

This commit is contained in:
Anders 2010-10-25 13:48:57 +01:00 committed by Dave Smith
parent c604d85ed5
commit 513ae33c5c
2 changed files with 24 additions and 7 deletions

View file

@ -45,9 +45,19 @@ new() ->
opts = []}. opts = []}.
new(ParentConfig) -> new(ParentConfig) ->
%% If we are at the top level we might want to load another rebar.config
%% We can be certain that we are at the top level if we don't have any
%% configs yet since if we are at another level we must have some config.
ConfName = case ParentConfig of
{config, _, []} ->
rebar_config:get_global(config, "rebar.config");
_ ->
"rebar.config"
end,
%% Load terms from rebar.config, if it exists %% Load terms from rebar.config, if it exists
Dir = rebar_utils:get_cwd(), Dir = rebar_utils:get_cwd(),
ConfigFile = filename:join([Dir, "rebar.config"]), ConfigFile = filename:join([Dir, ConfName]),
case file:consult(ConfigFile) of case file:consult(ConfigFile) of
{ok, Terms} -> {ok, Terms} ->
%% Found a config file with some terms. We need to be able to %% Found a config file with some terms. We need to be able to

View file

@ -133,6 +133,12 @@ parse_args(Args) ->
rebar_config:set_global(jobs, Jobs) rebar_config:set_global(jobs, Jobs)
end, end,
%% Set the rebar config to use
case proplists:get_value(config, Options) of
undefined -> ok;
Conf -> rebar_config:set_global(config, Conf)
end,
%% Filter all the flags (i.e. strings of form key=value) from the %% Filter all the flags (i.e. strings of form key=value) from the
%% command line arguments. What's left will be the commands to run. %% command line arguments. What's left will be the commands to run.
filter_flags(NonOptArgs, []); filter_flags(NonOptArgs, []);
@ -255,7 +261,8 @@ option_spec_list() ->
{verbose, $v, "verbose", undefined, "Be verbose about what gets done"}, {verbose, $v, "verbose", undefined, "Be verbose about what gets done"},
{version, $V, "version", undefined, "Show version information"}, {version, $V, "version", undefined, "Show version information"},
{force, $f, "force", undefined, "Force"}, {force, $f, "force", undefined, "Force"},
{jobs, $j, "jobs", integer, JobsHelp} {jobs, $j, "jobs", integer, JobsHelp},
{config, $C, "config", string, "Rebar config file to use"}
]. ].
%% %%