diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2015-05-08 22:51:25 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2015-05-08 22:51:25 -0400 |
commit | 671617f03e0915a62eaf630119bae32e92112e02 (patch) | |
tree | c03f35ee145bc30a4c55d2c8372881487d220b67 | |
parent | eb1dec19c7233d02fe3b73f2bc8e25318ac42c0f (diff) | |
parent | c5aee4b375818a3e1cd6cc94af89bf2b7dc456f3 (diff) |
Merge pull request #405 from tsloughter/ignore_pkgs
ignore pkgs that can't build with rebar or make
-rw-r--r-- | src/rebar_prv_update.erl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl index 973b275..942b386 100644 --- a/src/rebar_prv_update.erl +++ b/src/rebar_prv_update.erl @@ -72,6 +72,10 @@ write_registry(Dict, {digraph, Edges, Vertices, Neighbors, _}, State) -> ets:tab2file(Neighbors, filename:join(RegistryDir, "neighbors")), file:write_file(filename:join(RegistryDir, "dict"), term_to_binary(Dict)). +is_supported(<<"make">>) -> true; +is_supported(<<"rebar">>) -> true; +is_supported(_) -> false. + hex_to_graph(Filename) -> {ok, T} = ets:file2tab(Filename), Graph = digraph:new(), @@ -83,9 +87,14 @@ hex_to_graph(Filename) -> ok end, ok, T), - Dict1 = ets:foldl(fun({{Pkg, PkgVsn}, [Deps | _]}, Dict) -> - DepsList = update_graph(Pkg, PkgVsn, Deps, T, Graph), - dict:store({Pkg, PkgVsn}, DepsList, Dict); + Dict1 = ets:foldl(fun({{Pkg, PkgVsn}, [Deps, _, BuildTools | _]}, Dict) when is_list(BuildTools) -> + case lists:any(fun is_supported/1, BuildTools) of + true -> + DepsList = update_graph(Pkg, PkgVsn, Deps, T, Graph), + dict:store({Pkg, PkgVsn}, DepsList, Dict); + false -> + Dict + end; (_, Dict) -> Dict end, dict:new(), T), |