diff options
author | Dave Smith <dizzyd@dizzyd.com> | 2013-10-14 15:09:03 -0700 |
---|---|---|
committer | Dave Smith <dizzyd@dizzyd.com> | 2013-10-14 15:09:03 -0700 |
commit | ed88055a750736c5c9807ca4da4803ff8a6aef16 (patch) | |
tree | 5dd2dcdd8abb6452fc1d6090b2df3cc6cb37b1d8 /src/rebar_core.erl | |
parent | 179ed48f5b5262005dd4c8f0cf5730fc0e01afcd (diff) | |
parent | 2b3edc27010b5e5d4313a51789f6488280d76699 (diff) |
Merge pull request #142 from Vagabond/adt-update-deps
Make update-deps traverse deps breadth-first, top-down
Diffstat (limited to 'src/rebar_core.erl')
-rw-r--r-- | src/rebar_core.erl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rebar_core.erl b/src/rebar_core.erl index fcfa62a..4d50f4f 100644 --- a/src/rebar_core.erl +++ b/src/rebar_core.erl @@ -163,6 +163,13 @@ skip_or_process_dir({_, ModuleSetFile}=ModuleSet, Config, CurrentCodePath, skip_or_process_dir1(AppFile, ModuleSet, Config, CurrentCodePath, Dir, Command, DirSet) -> case rebar_app_utils:is_skipped_app(Config, AppFile) of + {Config1, {true, _SkippedApp}} when Command == 'update-deps' -> + %% update-deps does its own app skipping. Unfortunately there's no + %% way to signal this to rebar_core, so we have to explicitly do it + %% here... Otherwise if you use app=, it'll skip the toplevel + %% directory and nothing will be updated. + process_dir1(Dir, Command, DirSet, Config1, + CurrentCodePath, ModuleSet); {Config1, {true, SkippedApp}} -> ?DEBUG("Skipping app: ~p~n", [SkippedApp]), Config2 = increment_operations(Config1), @@ -172,8 +179,9 @@ skip_or_process_dir1(AppFile, ModuleSet, Config, CurrentCodePath, CurrentCodePath, ModuleSet) end. -process_dir1(Dir, Command, DirSet, Config0, CurrentCodePath, +process_dir1(Dir, Command, DirSet, Config, CurrentCodePath, {DirModules, ModuleSetFile}) -> + Config0 = rebar_config:set(Config, current_command, Command), %% Get the list of modules for "any dir". This is a catch-all list %% of modules that are processed in addition to modules associated %% with this directory type. These any_dir modules are processed |