From 6c9bc2c1d5e7041f7e81cc470b6de78220ea9eb1 Mon Sep 17 00:00:00 2001 From: Francisco Rojas Date: Tue, 15 Mar 2016 21:51:39 -0700 Subject: Allows overwrite default cache dir using REBAR_CACHE_DIR Allows overwrite the default cache directory using the environment variable REBAR_CACHE_DIR. --- src/rebar_dir.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/rebar_dir.erl b/src/rebar_dir.erl index 3729704..840d1f9 100644 --- a/src/rebar_dir.erl +++ b/src/rebar_dir.erl @@ -93,8 +93,14 @@ global_config() -> filename:join([Home, ".config", "rebar3", "rebar.config"]). global_cache_dir(Opts) -> - Home = home_dir(), - rebar_opts:get(Opts, global_rebar_dir, filename:join([Home, ".cache", "rebar3"])). + RebarCacheDir = case os:getenv("REBAR_CACHE_DIR") of + false -> + Home = home_dir(), + filename:join([Home, ".cache", "rebar3"]); + ConfigFile -> + ConfigFile + end, + rebar_opts:get(Opts, global_rebar_dir, RebarCacheDir). local_cache_dir(Dir) -> filename:join(Dir, ".rebar3"). -- cgit v1.1 From 8b1193e4af7a43abe84a108435b9a2c52e475f8f Mon Sep 17 00:00:00 2001 From: Francisco Rojas Date: Thu, 17 Mar 2016 20:07:36 -0700 Subject: Add spec for global_cache_dir --- src/rebar_dir.erl | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/rebar_dir.erl b/src/rebar_dir.erl index 840d1f9..df05cdb 100644 --- a/src/rebar_dir.erl +++ b/src/rebar_dir.erl @@ -92,6 +92,7 @@ global_config() -> Home = home_dir(), filename:join([Home, ".config", "rebar3", "rebar.config"]). +-spec global_cache_dir(rebar_dict()) -> file:filename_all(). global_cache_dir(Opts) -> RebarCacheDir = case os:getenv("REBAR_CACHE_DIR") of false -> -- cgit v1.1 From 243e94391a4ac446cfe0c814750abfb014db9ac4 Mon Sep 17 00:00:00 2001 From: Francisco Rojas Date: Wed, 6 Apr 2016 21:16:25 -0700 Subject: Read env var REBAR_CACHE_DIR on rebar3 only once Instead of reading every time that rebar_dir:global_cache_dir/1 is called --- src/rebar3.erl | 13 ++++++++++--- src/rebar_dir.erl | 10 ++-------- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/rebar3.erl b/src/rebar3.erl index c1a1ae4..ff0ab6a 100644 --- a/src/rebar3.erl +++ b/src/rebar3.erl @@ -129,13 +129,20 @@ run_aux(State, RawArgs) -> %% Initializing project_plugins which can override default providers State6 = rebar_plugins:project_plugins_install(State5), State7 = rebar_plugins:top_level_install(State6), - State8 = rebar_state:default(State7, rebar_state:opts(State7)), + State8 = case os:getenv("REBAR_CACHE_DIR") of + false -> + State7; + ConfigFile -> + rebar_state:set(State7, global_rebar_dir, ConfigFile) + end, + + State9 = rebar_state:default(State8, rebar_state:opts(State8)), {Task, Args} = parse_args(RawArgs), - State9 = rebar_state:code_paths(State8, default, code:get_path()), + State10 = rebar_state:code_paths(State9, default, code:get_path()), - rebar_core:init_command(rebar_state:command_args(State9, Args), Task). + rebar_core:init_command(rebar_state:command_args(State10, Args), Task). init_config() -> %% Initialize logging system diff --git a/src/rebar_dir.erl b/src/rebar_dir.erl index df05cdb..1ec58d4 100644 --- a/src/rebar_dir.erl +++ b/src/rebar_dir.erl @@ -94,14 +94,8 @@ global_config() -> -spec global_cache_dir(rebar_dict()) -> file:filename_all(). global_cache_dir(Opts) -> - RebarCacheDir = case os:getenv("REBAR_CACHE_DIR") of - false -> - Home = home_dir(), - filename:join([Home, ".cache", "rebar3"]); - ConfigFile -> - ConfigFile - end, - rebar_opts:get(Opts, global_rebar_dir, RebarCacheDir). + Home = home_dir(), + rebar_opts:get(Opts, global_rebar_dir, filename:join([Home, ".cache", "rebar3"])). local_cache_dir(Dir) -> filename:join(Dir, ".rebar3"). -- cgit v1.1