summaryrefslogtreecommitdiff
path: root/deps/setup/src/setup_gen.erl
diff options
context:
space:
mode:
Diffstat (limited to 'deps/setup/src/setup_gen.erl')
-rw-r--r--deps/setup/src/setup_gen.erl14
1 files changed, 12 insertions, 2 deletions
diff --git a/deps/setup/src/setup_gen.erl b/deps/setup/src/setup_gen.erl
index e0137fe..7a74107 100644
--- a/deps/setup/src/setup_gen.erl
+++ b/deps/setup/src/setup_gen.erl
@@ -171,12 +171,13 @@ run(Options) ->
?if_verbose(io:fwrite("Options = ~p~n", [Options])),
Config = read_config(Options),
?if_verbose(io:fwrite("Config = ~p~n", [Config])),
- FullOpts = Options ++ Config,
+ FullOpts = insert_config(Config, Options),
+ ?if_verbose(io:fwrite("FullOpts = ~p~n", [FullOpts])),
{Name, OutDir, RelDir, RelVsn, GenTarget} = name_and_target(FullOpts),
ensure_dir(RelDir),
Roots = roots(FullOpts),
?if_verbose(io:fwrite("Roots = ~p~n", [Roots])),
- check_config(Config),
+ check_config(FullOpts),
Env = env_vars(FullOpts),
InstEnv = install_env(Env, FullOpts),
add_paths(Roots, FullOpts),
@@ -202,6 +203,14 @@ run(Options) ->
setup_lib:write_eterm("setup_gen.eterm", FullOpts)
end).
+insert_config(Conf, Options) ->
+ lists:flatmap(
+ fun({conf, _} = C) ->
+ [C|Conf];
+ (Other) ->
+ [Other]
+ end, Options).
+
name_and_target(FullOpts) ->
Name = option(name, FullOpts),
case proplists:get_value(target, FullOpts, false) of
@@ -797,6 +806,7 @@ app_vsn(A, V) ->
Path = code:get_path(),
Found = [D || D <- Path, is_app(AppStr, D)],
Sorted = setup_lib:sort_vsns(lists:usort(Found), AppStr),
+ ?if_verbose(io:fwrite("Sorted = ~p~n", [Sorted])),
match_app_vsn(Sorted, V, AppStr).
match_app_vsn(Vsns, latest, App) ->