Ver código fonte

fix fetch and build

pull/3/head
Tristan Sloughter 10 anos atrás
pai
commit
6c50d0a566
2 arquivos alterados com 17 adições e 10 exclusões
  1. +7
    -4
      src/rebar_app_info.erl
  2. +10
    -6
      src/rebar_prv_install_deps.erl

+ 7
- 4
src/rebar_app_info.erl Ver arquivo

@ -35,7 +35,7 @@
app_file :: file:name(),
config :: rebar_config:config() | undefined,
original_vsn :: string(),
app_details :: list(),
app_details=[] :: list(),
deps=[] :: list(),
dir :: file:name(),
source :: string() | undefined,
@ -87,9 +87,12 @@ new(AppName, Vsn, Dir, Deps) ->
-spec discover(file:name()) ->
{ok, t()}.
discover(Dir) ->
{true, AppInfo} = rebar_app_discover:find_app(Dir, all),
{ok, AppInfo}.
case rebar_app_discover:find_app(Dir, all) of
{true, AppInfo} ->
{ok, AppInfo};
_ ->
not_found
end.
-spec name(t()) -> atom().
name(#app_info_t{name=Name}) ->

+ 10
- 6
src/rebar_prv_install_deps.erl Ver arquivo

@ -69,8 +69,7 @@ do(State) ->
[] ->
handle_deps(State, ordsets:from_list(rebar_state:get(State, deps, [])));
Locks ->
handle_deps(State, ordsets:from_list(Locks)),
{ok, State}
handle_deps(State, ordsets:from_list(Locks))
end.
%% set REBAR_DEPS_DIR and ERL_LIBS environment variables
@ -146,7 +145,7 @@ handle_deps(State, Deps) ->
%% Sort all apps to build order
State3 = rebar_state:set(State2, all_deps, AllDeps),
{ok, Sort} = rebar_topo:sort_apps(ordsets:to_list(Source)),
{ok, rebar_state:set(State3, deps_to_build, lists:dropwhile(fun is_valid/1, Sort) -- ProjectApps)}.
{ok, rebar_state:set(State3, deps_to_build, lists:dropwhile(fun is_valid/1, Sort -- ProjectApps))}.
-spec is_valid(rebar_app_info:t()) -> boolean().
is_valid(App) ->
@ -211,9 +210,14 @@ parse_deps(DepsDir, Deps) ->
,ec_cnv:to_binary(Vsn)) | BinaryDepsAcc]};
(Name, {SrcDepsAcc, BinaryDepsAcc}) when is_atom(Name) ->
{SrcDepsAcc, [ec_cnv:to_binary(Name) | BinaryDepsAcc]};
({Name, _Vsn, Source}, {SrcDepsAcc, BinaryDepsAcc}) when is_tuple (Source) ->
{ok, Dep} =
rebar_app_info:discover(ec_cnv:to_list(get_deps_dir(DepsDir, Name))),
({Name, Vsn, Source}, {SrcDepsAcc, BinaryDepsAcc}) when is_tuple (Source) ->
Dir = ec_cnv:to_list(get_deps_dir(DepsDir, Name)),
{ok, Dep} = case rebar_app_info:discover(Dir) of
{ok, App} ->
{ok, App};
not_found ->
rebar_app_info:new(Name, Vsn, Dir)
end,
Dep1 = rebar_app_info:source(Dep, Source),
{ordsets:add_element(Dep1, SrcDepsAcc), BinaryDepsAcc}
end, {ordsets:new(), []}, Deps).

Carregando…
Cancelar
Salvar