diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2016-03-19 13:14:11 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2016-03-19 13:17:56 -0400 |
commit | 9d01c45aeb56f4ec09e86c64b9f2969d04f590c2 (patch) | |
tree | d24b06ed25c0031543e0fc2f22c45dbad119d711 /src | |
parent | 7d29b74a221ef082e4bbee496019c8f1612e8f0b (diff) |
Support all deps & locks in rebar3 path
By default, the dependency only handled versioned packages and top-level
source dependencies, and locks were being ignored.
This patch makes it so locks and package deps are being considered,
generating full-blown path lists.
Should fix #1117
Diffstat (limited to 'src')
-rw-r--r-- | src/rebar_prv_path.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rebar_prv_path.erl b/src/rebar_prv_path.erl index 37c9834..4e88496 100644 --- a/src/rebar_prv_path.erl +++ b/src/rebar_prv_path.erl @@ -95,10 +95,14 @@ print_paths_if_exist(Paths, State) -> project_deps(State) -> Profiles = rebar_state:current_profiles(State), - List = lists:foldl(fun(Profile, Acc) -> rebar_state:get(State, {deps, Profile}, []) ++ Acc end, [], Profiles), - Deps = [normalize(Name) || {Name, _} <- List], + DepList = lists:foldl(fun(Profile, Acc) -> rebar_state:get(State, {deps, Profile}, []) ++ Acc end, [], Profiles), + LockList = lists:foldl(fun(Profile, Acc) -> rebar_state:get(State, {locks, Profile}, []) ++ Acc end, [], Profiles), + Deps = [normalize(name(Dep)) || Dep <- DepList++LockList], lists:usort(Deps). +name(App) when is_tuple(App) -> element(1, App); +name(Name) when is_binary(Name); is_list(Name); is_atom(Name) -> Name. + normalize(AppName) when is_list(AppName) -> AppName; normalize(AppName) when is_atom(AppName) -> atom_to_list(AppName); normalize(AppName) when is_binary(AppName) -> binary_to_list(AppName). |