Skip to content

Commit 23f0ff8

Browse files
author
José Valim
committed
Write consolidated files to _build
1 parent 6aada7f commit 23f0ff8

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

lib/mix/lib/mix/tasks/compile.protocols.ex

+6-3
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ defmodule Mix.Tasks.Compile.Protocols do
1414
protocol versions. Simply add it to your codepath to
1515
make use of it:
1616
17-
mix run -pa consolidated
17+
mix run -pa _build/dev/consolidated
1818
1919
You can verify a protocol is consolidated by checking
2020
its attributes:
2121
22-
elixir -pa consolidated -S \
22+
elixir -pa _build/dev/consolidated -S \
2323
mix run -e "IO.puts Protocol.consolidated?(Enumerable)"
2424
2525
"""
@@ -31,7 +31,7 @@ defmodule Mix.Tasks.Compile.Protocols do
3131
paths = filter_otp(:code.get_path, :code.lib_dir)
3232
paths
3333
|> Protocol.extract_protocols
34-
|> consolidate(paths, opts[:output] || "consolidated")
34+
|> consolidate(paths, opts[:output] || Path.join(Mix.Project.build_path, "consolidated"))
3535

3636
:ok
3737
end
@@ -50,6 +50,9 @@ defmodule Mix.Tasks.Compile.Protocols do
5050
File.write!(Path.join(output, "#{protocol}.beam"), binary)
5151
Mix.shell.info "Consolidated #{inspect protocol}"
5252
end
53+
54+
relative = Path.relative_to_cwd(output)
55+
Mix.shell.info "Consolidated protocols written to #{relative}"
5356
end
5457

5558
defp maybe_reload(module) do

lib/mix/test/mix/tasks/compile.protocols_test.exs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ defmodule Mix.Tasks.Compile.ProtocolsTest do
1010
assert Mix.Tasks.Compile.Protocols.run([]) == :ok
1111
assert_received {:mix_shell, :info, ["Consolidated Enumerable"]}
1212

13-
assert File.regular? "consolidated/Elixir.Enumerable.beam"
13+
assert File.regular? "_build/dev/consolidated/Elixir.Enumerable.beam"
1414
purge [Enumerable]
1515

16-
Code.prepend_path("consolidated")
16+
Code.prepend_path("_build/dev/consolidated")
1717
assert Protocol.consolidated?(Enumerable)
1818
end
1919
after

0 commit comments

Comments
 (0)