diff options
author | José Valim <jose.valim@plataformatec.com.br> | 2015-09-28 20:37:58 +0200 |
---|---|---|
committer | José Valim <jose.valim@plataformatec.com.br> | 2015-09-28 20:38:17 +0200 |
commit | 293933b813d0b4cb8a3a0ad1fb041e4a748b0890 (patch) | |
tree | b6a68f97d4615f1ee7f5f146387f2f78c3fa3570 | |
parent | af1ef7f47a25ccacc58d41c19695fa13a0becb83 (diff) | |
download | elixir-293933b813d0b4cb8a3a0ad1fb041e4a748b0890.tar.gz |
Ensure stacktraces are shown on app_path failures
-rw-r--r-- | lib/mix/lib/mix/project.ex | 6 | ||||
-rw-r--r-- | lib/mix/lib/mix/tasks/app.start.ex | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/mix/lib/mix/project.ex b/lib/mix/lib/mix/project.ex index fab3fc941..95eea6412 100644 --- a/lib/mix/lib/mix/project.ex +++ b/lib/mix/lib/mix/project.ex @@ -282,7 +282,7 @@ defmodule Mix.Project do app = config[:app] -> Path.join([build_path(config), "lib", Atom.to_string(app)]) config[:apps_path] -> - Mix.raise "Trying to access app_path for an umbrella project but umbrellas have no app" + raise "Trying to access app_path for an umbrella project but umbrellas have no app" true -> Mix.raise "Cannot access build without an application name, " <> "please ensure you are in a directory with a mix.exs file and it defines " <> @@ -314,7 +314,9 @@ defmodule Mix.Project do """ def compile(args, config \\ config()) do if config[:build_embedded] do - if not File.exists?(compile_path(config)) do + path = if umbrella?(config), do: build_path(config), else: compile_path(config) + + unless File.exists?(path) do Mix.raise "Cannot execute task because the project was not yet compiled. " <> "When build_embedded is set to true, \"MIX_ENV=#{Mix.env} mix compile\" " <> "must be explicitly executed" diff --git a/lib/mix/lib/mix/tasks/app.start.ex b/lib/mix/lib/mix/tasks/app.start.ex index 5b0c1e395..d9ffe1c02 100644 --- a/lib/mix/lib/mix/tasks/app.start.ex +++ b/lib/mix/lib/mix/tasks/app.start.ex @@ -1,6 +1,8 @@ defmodule Mix.Tasks.App.Start do use Mix.Task + # Do not mark this task as recursive as it is + # responsible for loading consolidated protocols. @shortdoc "Starts all registered apps" @moduledoc """ |