   end
 
   defp mix_compile(compilers) do
-    all = Mix.Project.config()[:compilers] || Mix.compilers()
+    config = Mix.Project.config()
+    all = config[:compilers] || Mix.compilers()
 
     compilers =
       for compiler <- compilers, compiler in all do

    end
  end

  defp consolidate_protocols? do
    Mix.Project.config()[:consolidate_protocols]
  end

  defp proxy_io(fun) do


    # We call build_structure mostly for Windows so new
    # assets in priv are copied to the build directory.
    Mix.Project.build_structure(config)
    results = Enum.map(compilers, &Mix.Task.run("compile.#{&1}", []))

    # Results are either {:ok, _} | {:error, _}, {:noop, _} or
