Skip to content

Commit 6448de8

Browse files
author
José Valim
committed
Ensure deps can run after mix deps.get
1 parent f4d145c commit 6448de8

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

lib/mix/lib/mix/deps/loader.ex

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,7 @@ defmodule Mix.Deps.Loader do
124124

125125
defp scm_status(scm, opts) do
126126
if scm.checked_out?(opts) do
127-
if File.exists?(Path.join(opts[:build], ".compile")) do
128-
:compile
129-
else
130-
{ :ok, nil }
131-
end
127+
{ :ok, nil }
132128
else
133129
{ :unavailable, opts[:dest] }
134130
end
@@ -203,13 +199,19 @@ defmodule Mix.Deps.Loader do
203199

204200
defp validate_app(Mix.Dep[opts: opts, requirement: req, app: app, status: status] = dep) do
205201
opts_app = opts[:app]
206-
207-
if not ok?(status) or opts_app == false do
208-
dep
209-
else
210-
path = if is_binary(opts_app), do: opts_app, else: "ebin/#{app}.app"
211-
path = Path.expand(path, opts[:build])
212-
dep.status app_status(path, app, req)
202+
build = opts[:build]
203+
204+
cond do
205+
not ok?(status) ->
206+
dep
207+
File.exists?(Path.join(opts[:build], ".compile")) ->
208+
dep.status(:compile)
209+
opts_app == false ->
210+
dep
211+
true ->
212+
path = if is_binary(opts_app), do: opts_app, else: "ebin/#{app}.app"
213+
path = Path.expand(path, build)
214+
dep.status app_status(path, app, req)
213215
end
214216
end
215217

lib/mix/test/mix/tasks/deps.path_test.exs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ defmodule Mix.Tasks.DepsPathTest do
2525
Mix.Tasks.Deps.Get.run ["--all"]
2626
assert File.exists?("_build/dev/lib/raw_repo/.compile")
2727
assert File.exists?("_build/test/lib/raw_repo/.compile")
28+
29+
Mix.Tasks.Run.run ["-e", "Mix.shell.info RawRepo.hello"]
30+
assert_received { :mix_shell, :info, ["* Compiling raw_repo"] }
31+
assert_received { :mix_shell, :info, ["world"] }
2832
end
2933
end
3034

0 commit comments

Comments
 (0)