summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@plataformatec.com.br>2015-09-28 20:37:58 +0200
committerJosé Valim <jose.valim@plataformatec.com.br>2015-09-28 20:38:17 +0200
commit293933b813d0b4cb8a3a0ad1fb041e4a748b0890 (patch)
treeb6a68f97d4615f1ee7f5f146387f2f78c3fa3570
parentaf1ef7f47a25ccacc58d41c19695fa13a0becb83 (diff)
downloadelixir-293933b813d0b4cb8a3a0ad1fb041e4a748b0890.tar.gz
Ensure stacktraces are shown on app_path failures
-rw-r--r--lib/mix/lib/mix/project.ex6
-rw-r--r--lib/mix/lib/mix/tasks/app.start.ex2
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 """