mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 03:00:17 +00:00
Add possibility to specify rebar config for the "main" application
This commit is contained in:
parent
c604d85ed5
commit
513ae33c5c
2 changed files with 24 additions and 7 deletions
|
@ -45,9 +45,19 @@ new() ->
|
|||
opts = []}.
|
||||
|
||||
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
|
||||
Dir = rebar_utils:get_cwd(),
|
||||
ConfigFile = filename:join([Dir, "rebar.config"]),
|
||||
ConfigFile = filename:join([Dir, ConfName]),
|
||||
case file:consult(ConfigFile) of
|
||||
{ok, Terms} ->
|
||||
%% Found a config file with some terms. We need to be able to
|
||||
|
|
|
@ -133,6 +133,12 @@ parse_args(Args) ->
|
|||
rebar_config:set_global(jobs, Jobs)
|
||||
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
|
||||
%% command line arguments. What's left will be the commands to run.
|
||||
filter_flags(NonOptArgs, []);
|
||||
|
@ -255,7 +261,8 @@ option_spec_list() ->
|
|||
{verbose, $v, "verbose", undefined, "Be verbose about what gets done"},
|
||||
{version, $V, "version", undefined, "Show version information"},
|
||||
{force, $f, "force", undefined, "Force"},
|
||||
{jobs, $j, "jobs", integer, JobsHelp}
|
||||
{jobs, $j, "jobs", integer, JobsHelp},
|
||||
{config, $C, "config", string, "Rebar config file to use"}
|
||||
].
|
||||
|
||||
%%
|
||||
|
|
Loading…
Reference in a new issue