Pārlūkot izejas kodu

wip: rework rebar_prv_path to use app info

pull/2239/head
Tristan Sloughter pirms 5 gadiem
vecāks
revīzija
f0c8c202af
Šim parakstam datu bāzē netika atrasta zināma atslēga GPG atslēgas ID: AAB97DDECCEB8150
1 mainītis faili ar 11 papildinājumiem un 22 dzēšanām
  1. +11
    -22
      src/rebar_prv_path.erl

+ 11
- 22
src/rebar_prv_path.erl Parādīt failu

@ -12,7 +12,7 @@
-include("rebar.hrl").
-define(PROVIDER, path).
-define(DEPS, [app_discovery]).
-define(DEPS, [compile]).
%% ===================================================================
%% Public API
@ -54,11 +54,11 @@ filter_apps(RawOpts, State) ->
[] ->
ProjectDeps = project_deps(State),
ProjectApps = rebar_state:project_apps(State),
lists:map(fun(A) -> binary_to_list(rebar_app_info:name(A)) end, ProjectApps) ++ ProjectDeps;
_ -> Apps
ProjectApps ++ ProjectDeps;
_ ->
Apps
end.
paths([], _, State, Acc) -> print_paths_if_exist(lists:reverse(Acc), State);
paths([{base, true}|Rest], Apps, State, Acc) ->
paths(Rest, Apps, State, [base_dir(State)|Acc]);
@ -80,12 +80,12 @@ bin_dir(State) -> io_lib:format("~ts/bin", [rebar_dir:base_dir(State)]).
lib_dir(State) -> io_lib:format("~ts", [rebar_dir:deps_dir(State)]).
rel_dir(State) -> io_lib:format("~ts/rel", [rebar_dir:base_dir(State)]).
ebin_dirs(Apps, State) ->
lists:map(fun(App) -> io_lib:format("~ts/~ts/ebin", [rebar_dir:deps_dir(State), App]) end, Apps).
priv_dirs(Apps, State) ->
lists:map(fun(App) -> io_lib:format("~ts/~ts/priv", [rebar_dir:deps_dir(State), App]) end, Apps).
src_dirs(Apps, State) ->
lists:map(fun(App) -> io_lib:format("~ts/~ts/src", [rebar_dir:deps_dir(State), App]) end, Apps).
ebin_dirs(Apps, _State) ->
lists:map(fun(App) -> rebar_app_info:ebin_dir(App) end, Apps).
priv_dirs(Apps, _State) ->
lists:map(fun(App) -> rebar_app_info:priv_dir(App) end, Apps).
src_dirs(Apps, _State) ->
lists:map(fun(App) -> filename:join(rebar_app_info:out_dir(App), "src") end, Apps).
print_paths_if_exist(Paths, State) ->
{RawOpts, _} = rebar_state:command_parsed_args(State),
@ -94,18 +94,7 @@ print_paths_if_exist(Paths, State) ->
io:format("~ts", [rebar_string:join(RealPaths, Sep)]).
project_deps(State) ->
Profiles = rebar_state:current_profiles(State),
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).
rebar_state:all_deps(State).
path_opts(_State) ->
[{app, undefined, "app", string, help(app)},

Notiek ielāde…
Atcelt
Saglabāt