summaryrefslogtreecommitdiff
path: root/src/rebar_prv_packages.erl
diff options
context:
space:
mode:
authorTristan Sloughter <t@crashfast.com>2015-08-21 12:18:30 -0500
committerTristan Sloughter <t@crashfast.com>2015-08-21 19:04:11 -0500
commitcf5390f01876ff8d9e70cff521740ab0dd805929 (patch)
treece1e3449b76eeaa4126e68dc26bcaca225546a9c /src/rebar_prv_packages.erl
parent6242c8155499df2fe141772830565b041959c7b9 (diff)
replace use of dict of packages and registry with single ets table
Diffstat (limited to 'src/rebar_prv_packages.erl')
-rw-r--r--src/rebar_prv_packages.erl12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/rebar_prv_packages.erl b/src/rebar_prv_packages.erl
index 44cde4e..f5d9e38 100644
--- a/src/rebar_prv_packages.erl
+++ b/src/rebar_prv_packages.erl
@@ -27,19 +27,17 @@ init(State) ->
-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(State) ->
- Dict = rebar_packages:packages(State),
- print_packages(Dict),
+ print_packages(),
{ok, State}.
-spec format_error(any()) -> iolist().
format_error(load_registry_fail) ->
"Failed to load package regsitry. Try running 'rebar3 update' to fix".
-print_packages(Dict) ->
- Pkgs = lists:keysort(1, dict:fetch_keys(Dict)),
- SortedPkgs = lists:foldl(fun({Pkg, Vsn}, Acc) ->
- orddict:append_list(Pkg, [Vsn], Acc)
- end, orddict:new(), Pkgs),
+print_packages() ->
+ SortedPkgs = ets:foldl(fun({{Pkg, Vsn}, _}, Acc) ->
+ orddict:append_list(Pkg, [Vsn], Acc)
+ end, orddict:new(), ?PACKAGE_TABLE),
orddict:map(fun(Name, Vsns) ->
SortedVsns = lists:sort(fun(A, B) ->