Skip to content

get RuntimeError when use it umbrella app #15

@slashmili

Description

@slashmili

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions