-
Notifications
You must be signed in to change notification settings - Fork 47
Closed
Description
When I run mix test on the root I get error:
mix test
==> elixir_make
Compiling 1 file (.ex)
Generated elixir_make app
echo "done"
done
** (RuntimeError) trying to access Mix.Project.app_path for an umbrella project but umbrellas have no app
(mix) lib/mix/project.ex:332: Mix.Project.app_path/1
(mix) lib/mix/project.ex:397: Mix.Project.build_structure/2
lib/mix/tasks/compile.make.ex:73: Mix.Tasks.Compile.ElixirMake.run/1
(mix) lib/mix/task.ex:296: Mix.Task.run_task/3
(elixir) lib/file.ex:1145: File.cd!/2
(mix) lib/mix/project_stack.ex:86: Mix.ProjectStack.root/1
(elixir) lib/enum.ex:1184: Enum."-map/2-lists^map/1-0-"/2
(mix) lib/mix/tasks/compile.all.ex:19: anonymous fn/1 in Mix.Tasks.Compile.All.run/1
I can also create the Makefile in the specific app, still it doesn't work as I expected(need to fix the makefile path in the main mix.exs file) and if I make it work still get the same error
directory structure:
.
├── Makefile
├── README.md
├── apps
│ └── my_make
│ ├── README.md
│ ├── config
│ │ └── config.exs
│ ├── lib
│ │ └── my_make.ex
│ ├── mix.exs
│ └── test
│ ├── my_make_test.exs
│ └── test_helper.exs
├── config
│ └── config.exs
├── mix.exs
└── mix.lock
environment:
- OSX
10.11.5 - Erlang/OTP 18 [erts-7.3]
- Elixir 1.3.1
files:
Makefile is :
all:
echo done
apps/my_make/mix.exs :
defmodule MyMake.Mixfile do
use Mix.Project
def project do
[app: :my_make,
version: "0.1.0",
build_path: "../../_build",
config_path: "../../config/config.exs",
deps_path: "../../deps",
lockfile: "../../mix.lock",
elixir: "~> 1.3",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
compilers: [:elixir_make] ++ Mix.compilers,
deps: deps]
end
def application do
[applications: [:logger]]
end
defp deps do
[{:elixir_make, "~> 0.1.0"}]
end
end
Metadata
Metadata
Assignees
Labels
No labels