@@ -86,9 +86,6 @@ defmodule Mix.Dep.Fetcher do
86
86
# Let's get the loaded versions of deps
87
87
deps = Mix.Dep . loaded_by_name ( apps , all_deps , opts )
88
88
89
- # Do not mark dependencies that are not available
90
- deps = Enum . filter ( deps , & available? / 1 )
91
-
92
89
# Note we only retrieve the parent dependencies of the updated
93
90
# deps if all dependencies are available. This is because if a
94
91
# dependency is missing, it could directly affect one of the
@@ -99,8 +96,9 @@ defmodule Mix.Dep.Fetcher do
99
96
# it for compilation too, this is our best to try to solve the
100
97
# maximum we can at each deps.get and deps.update.
101
98
if Enum . all? ( all_deps , & available? / 1 ) do
102
- deps = with_depending ( deps , all_deps ) ++
103
- Enum . filter ( all_deps , fn dep -> not ok? ( dep ) end )
99
+ deps = ( with_depending ( deps , all_deps ) ++
100
+ Enum . filter ( all_deps , fn dep -> not ok? ( dep ) end ) )
101
+ |> Enum . uniq ( & ( & 1 . app ) )
104
102
end
105
103
106
104
# Merge the new lock on top of the old to guarantee we don't
@@ -124,7 +122,7 @@ defmodule Mix.Dep.Fetcher do
124
122
end
125
123
126
124
defp with_depending ( deps , all_deps ) do
127
- ( deps ++ do_with_depending ( deps , all_deps ) ) |> Enum . uniq ( & ( & 1 . app ) )
125
+ deps ++ do_with_depending ( deps , all_deps )
128
126
end
129
127
130
128
defp do_with_depending ( [ ] , _all_deps ) do
0 commit comments