diff options
author | Tristan Sloughter <t@crashfast.com> | 2014-08-24 12:01:03 -0500 |
---|---|---|
committer | Tristan Sloughter <t@crashfast.com> | 2014-08-24 12:01:03 -0500 |
commit | 4b31a20a61b89d2979816646f8feca806d419564 (patch) | |
tree | dd628be4acef39699121b2a68942bf16e0178f12 /src/rebar_packages.erl | |
parent | 9c6e20d3287e532946a518f1455be8d6ddcf6b14 (diff) |
improved dep handling and add package list task
Diffstat (limited to 'src/rebar_packages.erl')
-rw-r--r-- | src/rebar_packages.erl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/rebar_packages.erl b/src/rebar_packages.erl new file mode 100644 index 0000000..103d3a3 --- /dev/null +++ b/src/rebar_packages.erl @@ -0,0 +1,23 @@ +-module(rebar_packages). + +-export([get_packages/1]). + +-include("rebar.hrl"). + +-spec get_packages(rebar_state:t()) -> {list(), rlx_depsolver:t()}. +get_packages(State) -> + RebarDir = rebar_state:get(State, global_rebar_dir, filename:join(os:getenv("HOME"), ".rebar")), + PackagesFile = filename:join(RebarDir, "packages"), + case ec_file:exists(PackagesFile) of + true -> + try + {ok, Binary} = file:read_file(PackagesFile), + binary_to_term(Binary) + catch + _:_ -> + ?ERROR("Bad packages index, try to fix with `rebar update`~n", []), + {[], rlx_depsolver:new()} + end; + false -> + {[], rlx_depsolver:new()} + end. |