Ignore skip_deps during update-deps as it has no meaning

This commit is contained in:
Andrew Thompson 2013-09-23 15:11:11 -04:00
parent cb4599f828
commit 0977d58361

View file

@ -68,31 +68,6 @@ preprocess(Config, _) ->
%% Add available deps to code path %% Add available deps to code path
Config3 = update_deps_code_path(Config2, AvailableDeps), Config3 = update_deps_code_path(Config2, AvailableDeps),
%% If skip_deps=true, mark each dep dir as a skip_dir w/ the core so that
%% the current command doesn't run on the dep dir. However, pre/postprocess
%% WILL run (and we want it to) for transitivity purposes.
%%
%% Also, if skip_deps=comma,separated,app,list, then only the given
%% dependencies are skipped.
NewConfig = case rebar_config:get_global(Config3, skip_deps, false) of
"true" ->
lists:foldl(
fun(#dep{dir = Dir}, C) ->
rebar_config:set_skip_dir(C, Dir)
end, Config3, AvailableDeps);
Apps when is_list(Apps) ->
SkipApps = [list_to_atom(App) || App <- string:tokens(Apps, ",")],
lists:foldl(
fun(#dep{dir = Dir, app = App}, C) ->
case lists:member(App, SkipApps) of
true -> rebar_config:set_skip_dir(C, Dir);
false -> C
end
end, Config3, AvailableDeps);
_ ->
Config3
end,
%% Filtering out 'raw' dependencies so that no commands other than %% Filtering out 'raw' dependencies so that no commands other than
%% deps-related can be executed on their directories. %% deps-related can be executed on their directories.
NonRawAvailableDeps = [D || D <- AvailableDeps, not D#dep.is_raw], NonRawAvailableDeps = [D || D <- AvailableDeps, not D#dep.is_raw],
@ -103,13 +78,38 @@ preprocess(Config, _) ->
%% any other calls to preprocess() for update-deps beyond the %% any other calls to preprocess() for update-deps beyond the
%% toplevel directory. They aren't actually harmful, but they slow %% toplevel directory. They aren't actually harmful, but they slow
%% things down unnecessarily. %% things down unnecessarily.
NewConfig2 = lists:foldl(fun(D, Acc) -> NewConfig = lists:foldl(fun(D, Acc) ->
rebar_config:set_skip_dir(Acc, D#dep.dir) rebar_config:set_skip_dir(Acc, D#dep.dir)
end, NewConfig, collect_deps(rebar_utils:get_cwd(),NewConfig)), end, Config3, collect_deps(rebar_utils:get_cwd(), Config3)),
%% Return the empty list, as we don't want anything processed before %% Return the empty list, as we don't want anything processed before
%% us. %% us.
{ok, NewConfig2, []}; {ok, NewConfig, []};
_ -> _ ->
%% If skip_deps=true, mark each dep dir as a skip_dir w/ the core so that
%% the current command doesn't run on the dep dir. However, pre/postprocess
%% WILL run (and we want it to) for transitivity purposes.
%%
%% Also, if skip_deps=comma,separated,app,list, then only the given
%% dependencies are skipped.
NewConfig = case rebar_config:get_global(Config3, skip_deps, false) of
"true" ->
lists:foldl(
fun(#dep{dir = Dir}, C) ->
rebar_config:set_skip_dir(C, Dir)
end, Config3, AvailableDeps);
Apps when is_list(Apps) ->
SkipApps = [list_to_atom(App) || App <- string:tokens(Apps, ",")],
lists:foldl(
fun(#dep{dir = Dir, app = App}, C) ->
case lists:member(App, SkipApps) of
true -> rebar_config:set_skip_dir(C, Dir);
false -> C
end
end, Config3, AvailableDeps);
_ ->
Config3
end,
%% Return all the available dep directories for process %% Return all the available dep directories for process
{ok, NewConfig, dep_dirs(NonRawAvailableDeps)} {ok, NewConfig, dep_dirs(NonRawAvailableDeps)}
end. end.