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). | 
