Browse Source

use CONFIG_DIR of rebar3 for config directories

pull/3/head
Tristan Sloughter 10 years ago
parent
commit
6cae428058
7 changed files with 19 additions and 12 deletions
  1. +1
    -1
      include/rebar.hrl
  2. +3
    -2
      src/rebar3.erl
  3. +1
    -1
      src/rebar_erlc_compiler.erl
  4. +2
    -1
      src/rebar_packages.erl
  5. +2
    -2
      src/rebar_prv_update.erl
  6. +4
    -4
      src/rebar_templater.erl
  7. +6
    -1
      src/rebar_utils.erl

+ 1
- 1
include/rebar.hrl View File

@ -20,7 +20,7 @@
-define(DEFAULT_TEST_DEPS_DIR, "_tdeps"). -define(DEFAULT_TEST_DEPS_DIR, "_tdeps").
-define(DEFAULT_CONFIG_FILE, "rebar.config"). -define(DEFAULT_CONFIG_FILE, "rebar.config").
-define(LOCK_FILE, "rebar.lock"). -define(LOCK_FILE, "rebar.lock").
-define(HOME_DIR, ".rebar3").
-define(CONFIG_DIR, ".rebar3").
-ifdef(namespaced_types). -ifdef(namespaced_types).
-type rebar_dict() :: dict:dict(). -type rebar_dict() :: dict:dict().

+ 3
- 2
src/rebar3.erl View File

@ -143,8 +143,9 @@ init_config() ->
Config Config
end, end,
%% If $HOME/.rebar/config exists load and use as global config
GlobalConfigFile = filename:join([os:getenv("HOME"), ".rebar", "config"]),
%% If $HOME/.rebar3/config exists load and use as global config
Home = rebar_utils:home_dir(),
GlobalConfigFile = filename:join([Home, ?CONFIG_DIR, "config"]),
State = case filelib:is_regular(GlobalConfigFile) of State = case filelib:is_regular(GlobalConfigFile) of
true -> true ->
?DEBUG("Load global config file ~p", ?DEBUG("Load global config file ~p",

+ 1
- 1
src/rebar_erlc_compiler.erl View File

@ -418,7 +418,7 @@ check_erlcinfo(Config, _) ->
[erlcinfo_file(Config)]). [erlcinfo_file(Config)]).
erlcinfo_file(_Config) -> erlcinfo_file(_Config) ->
filename:join([rebar_utils:get_cwd(), ".rebar", ?ERLCINFO_FILE]).
filename:join([rebar_utils:get_cwd(), ?CONFIG_DIR, ?ERLCINFO_FILE]).
init_erlcinfo(Config, Erls) -> init_erlcinfo(Config, Erls) ->
G = restore_erlcinfo(Config), G = restore_erlcinfo(Config),

+ 2
- 1
src/rebar_packages.erl View File

@ -6,7 +6,8 @@
-spec get_packages(rebar_state:t()) -> {rebar_dict(), rlx_depsolver:t()}. -spec get_packages(rebar_state:t()) -> {rebar_dict(), rlx_depsolver:t()}.
get_packages(State) -> get_packages(State) ->
RebarDir = rebar_state:get(State, global_rebar_dir, filename:join(os:getenv("HOME"), ".rebar")),
Home = rebar_utils:home_dir(),
RebarDir = rebar_state:get(State, global_rebar_dir, filename:join(Home, ?CONFIG_DIR)),
PackagesFile = filename:join(RebarDir, "packages"), PackagesFile = filename:join(RebarDir, "packages"),
case ec_file:exists(PackagesFile) of case ec_file:exists(PackagesFile) of
true -> true ->

+ 2
- 2
src/rebar_prv_update.erl View File

@ -35,8 +35,8 @@ do(State) ->
?INFO("Updating package index...", []), ?INFO("Updating package index...", []),
try try
Url = url(State), Url = url(State),
{ok, [[Home]]} = init:get_argument(home),
PackagesFile = filename:join([Home, ".rebar", "packages"]),
Home = rebar_utils:home_dir(),
PackagesFile = filename:join([Home, ?CONFIG_DIR, "packages"]),
filelib:ensure_dir(PackagesFile), filelib:ensure_dir(PackagesFile),
{ok, _RequestId} = httpc:request(get, {Url, []}, [], [{stream, PackagesFile} {ok, _RequestId} = httpc:request(get, {Url, []}, [], [{stream, PackagesFile}
,{sync, true}]) ,{sync, true}])

+ 4
- 4
src/rebar_templater.erl View File

@ -143,8 +143,8 @@ default_variables() ->
%% Load variable definitions from the 'Globals' file in the home template %% Load variable definitions from the 'Globals' file in the home template
%% directory %% directory
global_variables() -> global_variables() ->
{ok, [[Home]]} = init:get_argument(home),
GlobalFile = filename:join([Home, ?HOME_DIR, "templates", "globals"]),
Home = rebar_utils:home_dir(),
GlobalFile = filename:join([Home, ?CONFIG_DIR, "templates", "globals"]),
case file:consult(GlobalFile) of case file:consult(GlobalFile) of
{error, enoent} -> []; {error, enoent} -> [];
{ok, Data} -> proplists:get_value(variables, Data, []) {ok, Data} -> proplists:get_value(variables, Data, [])
@ -270,8 +270,8 @@ find_escript_templates(Files) ->
%% Fetch template indexes that sit on disk in the user's HOME %% Fetch template indexes that sit on disk in the user's HOME
find_disk_templates(State) -> find_disk_templates(State) ->
OtherTemplates = find_other_templates(State), OtherTemplates = find_other_templates(State),
{ok, [[Home]]} = init:get_argument(home),
HomeFiles = rebar_utils:find_files(filename:join([Home, ?HOME_DIR, "templates"]),
Home = rebar_utils:home_dir(),
HomeFiles = rebar_utils:find_files(filename:join([Home, ?CONFIG_DIR, "templates"]),
?TEMPLATE_RE), ?TEMPLATE_RE),
LocalFiles = rebar_utils:find_files(".", ?TEMPLATE_RE, true), LocalFiles = rebar_utils:find_files(".", ?TEMPLATE_RE, true),
[{file, F} || F <- OtherTemplates ++ HomeFiles ++ LocalFiles]. [{file, F} || F <- OtherTemplates ++ HomeFiles ++ LocalFiles].

+ 6
- 1
src/rebar_utils.erl View File

@ -26,7 +26,8 @@
%% ------------------------------------------------------------------- %% -------------------------------------------------------------------
-module(rebar_utils). -module(rebar_utils).
-export([droplast/1,
-export([home_dir/0,
droplast/1,
filtermap/2, filtermap/2,
get_cwd/0, get_cwd/0,
is_arch/1, is_arch/1,
@ -66,6 +67,10 @@
%% Public API %% Public API
%% ==================================================================== %% ====================================================================
home_dir() ->
{ok, [[Home]]} = init:get_argument(home),
Home.
droplast(L) -> droplast(L) ->
lists:reverse(tl(lists:reverse(L))). lists:reverse(tl(lists:reverse(L))).

Loading…
Cancel
Save