Преглед изворни кода

store registry fetched from disk in state

pull/330/head
Tristan Sloughter пре 10 година
родитељ
комит
4ee7fef913
3 измењених фајлова са 19 додато и 3 уклоњено
  1. +6
    -0
      src/rebar.hrl
  2. +3
    -2
      src/rebar_prv_install_deps.erl
  3. +10
    -1
      src/rebar_state.erl

+ 6
- 0
src/rebar.hrl Прегледај датотеку

@ -36,6 +36,12 @@
-type rebar_digraph() :: digraph().
-endif.
-ifdef(namespaced_types).
-type rebar_tid() :: ets:tid().
-else.
-type rebar_tid() :: tid().
-endif.
-define(GRAPH_VSN, 2).
-type v() :: {digraph:vertex(), term()} | 'false'.
-type e() :: {digraph:vertex(), digraph:vertex()}.

+ 3
- 2
src/rebar_prv_install_deps.erl Прегледај датотеку

@ -134,7 +134,8 @@ handle_deps(_Profile, State, [], _, _) ->
handle_deps(Profile, State0, Deps, Upgrade, Locks) ->
%% Read in package index and dep graph
{Packages, Graph} = rebar_state:packages(State0),
State = rebar_state:packages(State0, {Packages, Graph}),
Registry = rebar_packages:registry(State0),
State = rebar_state:packages(rebar_state:registry(State0, Registry), {Packages, Graph}),
%% Split source deps from pkg deps, needed to keep backwards compatibility
DepsDir = rebar_dir:deps_dir(State),
{SrcDeps, PkgDeps} = parse_deps(DepsDir, Deps, State, Locks, 0),
@ -573,7 +574,7 @@ not_needs_compile(App) ->
andalso rebar_app_info:valid(App).
get_package(Dep, State) ->
case rebar_packages:registry(State) of
case rebar_state:registry(State) of
{ok, T} ->
HighestDepVsn = rebar_packages:find_highest_matching(Dep, "0", T),
{Dep, HighestDepVsn};

+ 10
- 1
src/rebar_state.erl Прегледај датотеку

@ -31,6 +31,7 @@
apply_overrides/2,
packages/1, packages/2,
registry/1, registry/2,
resources/1, resources/2, add_resource/2,
providers/1, providers/2, add_provider/2]).
@ -54,7 +55,7 @@
all_deps = [] :: [rebar_app_info:t()],
packages = undefined :: {rebar_dict(), rebar_digraph()} | undefined,
registry = undefined :: {ok, rebar_tid()} | error | undefined,
overrides = [],
resources = [],
providers = []}).
@ -311,6 +312,14 @@ packages(#state_t{packages=Packages}) ->
packages(State, Packages) ->
State#state_t{packages=Packages}.
registry(State=#state_t{registry=undefined}) ->
rebar_packages:registry(State);
registry(#state_t{registry=Registry}) ->
Registry.
registry(State, Registry) ->
State#state_t{registry=Registry}.
-spec resources(t()) -> rebar_resource:resource().
resources(#state_t{resources=Resources}) ->
Resources.

Loading…
Откажи
Сачувај