diff options
author | Tuncer Ayaz <tuncer.ayaz@gmail.com> | 2012-07-14 23:44:47 +0200 |
---|---|---|
committer | Tuncer Ayaz <tuncer.ayaz@gmail.com> | 2012-07-23 13:17:11 +0200 |
commit | 252757c753e9ec5c5247a86eb635aee385d05ee1 (patch) | |
tree | a4d81e806bdfed018f0e5edf01aa4889d0a58896 /src/rebar_reltool.erl | |
parent | 3c56fbab6f5d0b87ba21fac828899d20132d5066 (diff) |
Do not use application:set_env
Diffstat (limited to 'src/rebar_reltool.erl')
-rw-r--r-- | src/rebar_reltool.erl | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/rebar_reltool.erl b/src/rebar_reltool.erl index 79b2a2a..93aec3e 100644 --- a/src/rebar_reltool.erl +++ b/src/rebar_reltool.erl @@ -67,11 +67,11 @@ generate(Config0, ReltoolFile) -> overlay(Config, ReltoolFile) -> %% Load the reltool configuration from the file {Config1, ReltoolConfig} = rebar_rel_utils:load_config(Config, ReltoolFile), - {Config1, process_overlay(ReltoolConfig)}. + {Config1, process_overlay(Config, ReltoolConfig)}. clean(Config, ReltoolFile) -> {Config1, ReltoolConfig} = rebar_rel_utils:load_config(Config, ReltoolFile), - TargetDir = rebar_rel_utils:get_target_dir(ReltoolConfig), + TargetDir = rebar_rel_utils:get_target_dir(Config, ReltoolConfig), rebar_file_utils:rm_rf(TargetDir), rebar_file_utils:delete_each(["reltool.spec"]), {ok, Config1}. @@ -98,8 +98,8 @@ check_vsn() -> end end. -process_overlay(ReltoolConfig) -> - TargetDir = rebar_rel_utils:get_target_dir(ReltoolConfig), +process_overlay(Config, ReltoolConfig) -> + TargetDir = rebar_rel_utils:get_target_dir(Config, ReltoolConfig), {_BootRelName, BootRelVsn} = rebar_rel_utils:get_reltool_release_info(ReltoolConfig), @@ -112,7 +112,7 @@ process_overlay(ReltoolConfig) -> {target_dir, TargetDir}]), %% Load up any variables specified by overlay_vars - OverlayVars1 = overlay_vars(OverlayVars0, ReltoolConfig), + OverlayVars1 = overlay_vars(Config, OverlayVars0, ReltoolConfig), OverlayVars = rebar_templater:resolve_variables(dict:to_list(OverlayVars1), OverlayVars1), @@ -135,9 +135,11 @@ process_overlay(ReltoolConfig) -> %% variable in the file from reltool.config and then override that value by %% providing an additional file on the command-line. %% -overlay_vars(Vars0, ReltoolConfig) -> +overlay_vars(Config, Vars0, ReltoolConfig) -> BaseVars = load_vars_file(proplists:get_value(overlay_vars, ReltoolConfig)), - OverrideVars = load_vars_file(rebar_config:get_global(overlay_vars, undefined)), + OverrideVars = load_vars_file(rebar_config:get_global(Config, + overlay_vars, + undefined)), M = fun(_Key, _Base, Override) -> Override end, dict:merge(M, dict:merge(M, Vars0, BaseVars), OverrideVars). @@ -189,18 +191,18 @@ app_exists(AppTuple, Server) when is_tuple(AppTuple) -> app_exists(element(1, AppTuple), Server). -run_reltool(Server, _Config, ReltoolConfig) -> +run_reltool(Server, Config, ReltoolConfig) -> case reltool:get_target_spec(Server) of {ok, Spec} -> %% Pull the target dir and make sure it exists - TargetDir = rebar_rel_utils:get_target_dir(ReltoolConfig), - mk_target_dir(TargetDir), + TargetDir = rebar_rel_utils:get_target_dir(Config, ReltoolConfig), + mk_target_dir(Config, TargetDir), %% Determine the otp root dir to use - RootDir = rebar_rel_utils:get_root_dir(ReltoolConfig), + RootDir = rebar_rel_utils:get_root_dir(Config, ReltoolConfig), %% Dump the spec, if necessary - dump_spec(Spec), + dump_spec(Config, Spec), %% Have reltool actually run case reltool:eval_target_spec(Spec, RootDir, TargetDir) of @@ -216,20 +218,20 @@ run_reltool(Server, _Config, ReltoolConfig) -> ok = create_RELEASES(TargetDir, BootRelName, BootRelVsn), - process_overlay(ReltoolConfig); + process_overlay(Config, ReltoolConfig); {error, Reason} -> ?ABORT("Unable to generate spec: ~s\n", [Reason]) end. -mk_target_dir(TargetDir) -> +mk_target_dir(Config, TargetDir) -> case filelib:ensure_dir(filename:join(TargetDir, "dummy")) of ok -> ok; {error, eexist} -> %% Output directory already exists; if force=1, wipe it out - case rebar_config:get_global(force, "0") of + case rebar_config:get_global(Config, force, "0") of "1" -> rebar_file_utils:rm_rf(TargetDir), ok = file:make_dir(TargetDir); @@ -245,8 +247,8 @@ mk_target_dir(TargetDir) -> end. -dump_spec(Spec) -> - case rebar_config:get_global(dump_spec, "0") of +dump_spec(Config, Spec) -> + case rebar_config:get_global(Config, dump_spec, "0") of "1" -> SpecBin = list_to_binary(io_lib:print(Spec, 1, 120, -1)), ok = file:write_file("reltool.spec", SpecBin); |