diff options
author | Eric Meadows-Jönsson <eric.meadows.jonsson@gmail.com> | 2019-12-02 21:07:54 +0100 |
---|---|---|
committer | Eric Meadows-Jönsson <eric.meadows.jonsson@gmail.com> | 2019-12-02 21:56:51 +0100 |
commit | 5719781625e251490f29a93e48fc25ee991df2cd (patch) | |
tree | 91f00fd9417ba1f4abb5e57981f8b934de845390 | |
parent | 7191faab18bc7cd80647e4411959f1db45667782 (diff) | |
download | elixir-emj/override-manager.tar.gz |
User set :manager should override SCMemj/override-manager
-rw-r--r-- | lib/mix/lib/mix/dep/loader.ex | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/mix/lib/mix/dep/loader.ex b/lib/mix/lib/mix/dep/loader.ex index 72f5fe1be..8ecb9f7e4 100644 --- a/lib/mix/lib/mix/dep/loader.ex +++ b/lib/mix/lib/mix/dep/loader.ex @@ -83,7 +83,7 @@ defmodule Mix.Dep.Loader do latest status and children. """ def load(%Mix.Dep{manager: manager, scm: scm, opts: opts} = dep, children) do - manager = scm_manager(scm, opts) || manager || infer_manager(opts[:dest]) + manager = opts[:manager] || scm_manager(scm, opts) || manager || infer_manager(opts[:dest]) dep = %{dep | manager: manager, status: scm_status(scm, opts)} {dep, children} = @@ -137,9 +137,8 @@ defmodule Mix.Dep.Loader do ## Helpers - def to_dep(tuple, from, manager \\ nil) do - %{opts: opts} = dep = with_scm_and_app(tuple) - %{dep | from: from, manager: opts[:manager] || manager} + defp to_dep(tuple, from, manager) do + %{with_scm_and_app(tuple) | from: from, manager: manager} end defp with_scm_and_app({app, opts} = original) when is_atom(app) and is_list(opts) do @@ -325,7 +324,7 @@ defmodule Mix.Dep.Loader do # because umbrella projects are not supported in remotes. defp mix_dep(%Mix.Dep{opts: opts} = dep, children) do from = Path.join(opts[:dest], "mix.exs") - deps = Enum.map(children, &to_dep(&1, from)) + deps = Enum.map(children, &to_dep(&1, from, _manager = nil)) {dep, deps} end @@ -356,7 +355,7 @@ defmodule Mix.Dep.Loader do from = Path.absname("mix.exs") (config[:deps] || []) - |> Enum.map(&to_dep(&1, from)) + |> Enum.map(&to_dep(&1, from, _manager = nil)) |> split_by_env_and_target({opts[:env], nil}) |> elem(0) end |