summaryrefslogtreecommitdiff
path: root/src/rebar_core.erl
diff options
context:
space:
mode:
authorAndrew Thompson <andrew@hijacked.us>2013-09-19 17:36:02 -0400
committerAndrew Thompson <andrew@hijacked.us>2013-09-20 01:24:07 -0400
commitcb4599f828f0ec13a4ea18bcb1b0de4938d8dc7e (patch)
treea1615f3ab8f6a81fc6df2ccff7ab569025ef6c08 /src/rebar_core.erl
parent620c4b01c6e59d47e92ea069f8510b8cb482ebae (diff)
Make update-deps traverse deps breadth-first, top-down
This ensures that deps of deps are updated AFTER the dep listing them is, so that a complicated project with many layers of deps will be updated correctly. Any new deps encountered along the way are also cloned, and THEIR deps are also evaluated. Also added was conflict detection, if a dep has differing versions or source information, inherited from different places, that will be logged at the end of update-deps, along with the origin of each conflicting dep.
Diffstat (limited to 'src/rebar_core.erl')
-rw-r--r--src/rebar_core.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rebar_core.erl b/src/rebar_core.erl
index fcfa62a..863d1d5 100644
--- a/src/rebar_core.erl
+++ b/src/rebar_core.erl
@@ -172,8 +172,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, 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