summaryrefslogtreecommitdiff
path: root/src/rebar_config.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rebar_config.erl')
-rw-r--r--src/rebar_config.erl33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/rebar_config.erl b/src/rebar_config.erl
index cba0e64..7da6900 100644
--- a/src/rebar_config.erl
+++ b/src/rebar_config.erl
@@ -58,20 +58,23 @@ new(ParentConfig) ->
%% Load terms from rebar.config, if it exists
Dir = rebar_utils:get_cwd(),
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
- %% distinguish between local definitions (i.e. from the file
- %% in the cwd) and inherited definitions. To accomplish this,
- %% we use a marker in the proplist (since order matters) between
- %% the new and old defs.
- Opts = Terms ++ [local] ++ [Opt || Opt <- ParentConfig#config.opts, Opt /= local];
- {error, enoent} ->
- Opts = [local] ++ [Opt || Opt <- ParentConfig#config.opts, Opt /= local];
- Other ->
- Opts = undefined, % Keep erlc happy
- ?ABORT("Failed to load ~s: ~p\n", [ConfigFile, Other])
- end,
+ Opts = case file:consult(ConfigFile) of
+ {ok, Terms} ->
+ %% Found a config file with some terms. We need to
+ %% be able to distinguish between local definitions
+ %% (i.e. from the file in the cwd) and inherited
+ %% definitions. To accomplish this, we use a marker
+ %% in the proplist (since order matters) between
+ %% the new and old defs.
+ Terms ++ [local] ++
+ [Opt || Opt <- ParentConfig#config.opts, Opt /= local];
+ {error, enoent} ->
+ [local] ++
+ [Opt || Opt <- ParentConfig#config.opts, Opt /= local];
+ Other ->
+ ?ABORT("Failed to load ~s: ~p\n", [ConfigFile, Other])
+ end,
+
#config { dir = Dir, opts = Opts }.
get(Config, Key, Default) ->
@@ -91,7 +94,7 @@ set(Config, Key, Value) ->
Config#config { opts = [{Key, Value} | Opts] }.
set_global(jobs=Key, Value) when is_list(Value) ->
- set_global(Key,list_to_integer(Value));
+ set_global(Key, list_to_integer(Value));
set_global(jobs=Key, Value) when is_integer(Value) ->
application:set_env(rebar_global, Key, erlang:max(1,Value));
set_global(Key, Value) ->