diff --git a/lib/mix/lib/mix/tasks/compile.elixir.ex b/lib/mix/lib/mix/tasks/compile.elixir.ex index 5f2269a738f..7db33d2a548 100644 --- a/lib/mix/lib/mix/tasks/compile.elixir.ex +++ b/lib/mix/lib/mix/tasks/compile.elixir.ex @@ -85,6 +85,7 @@ defmodule Mix.Tasks.Compile.Elixir do Code.compiler_options(opts) to_compile = lc f inlist to_compile, f in stale, do: f compile_files(to_compile, compile_path) + File.touch! Path.join(compile_path, @manifest) end defp compile_files(false, project, compile_path, to_compile, _stale) do diff --git a/lib/mix/test/mix/tasks/compile.elixir_test.exs b/lib/mix/test/mix/tasks/compile.elixir_test.exs index 25d17649144..480ad193ca3 100644 --- a/lib/mix/test/mix/tasks/compile.elixir_test.exs +++ b/lib/mix/test/mix/tasks/compile.elixir_test.exs @@ -105,8 +105,12 @@ defmodule Mix.Tasks.Compile.ElixirTest do assert_received { :mix_shell, :info, ["Compiled lib/a.ex"] } refute_received { :mix_shell, :info, ["Compiled lib/b.ex"] } + + File.touch!("ebin/.compile.elixir", future) + + assert Mix.Tasks.Compile.Elixir.run(["--quick"]) == :noop end after purge [A, B, C] end -end \ No newline at end of file +end