I try to use exrm in my elixir project but it shows a very mysterious behaviour. This is my mix.exs:
defmodule MyApp.Mixfile do
use Mix.Project
def project do
[app: :my_app,
version: "0.0.1",
elixir: ">= 1.0.5",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
deps: deps]
end
def application do
[
mod: { MyApp, [] },
applications: [:logger, :cowboy]
]
end
defp deps do
[
{:cowboy, "1.0.2"},
{:exrm, "0.18.1"}
]
end
end
The first time I run mix release
everything works fine. I start the release and then I just bump the version to "0.0.2" and build a second release. This also works and I can upgrade to "0.0.2". The third time I get the following error:
...
==> Generating release...
==> Generated .appup for fis_api 0.0.2 -> 0.0.3
==> Failed to build release. Please fix any errors and try again.
There is a very similar open issue on the exrm github page but in my case there is no error regarding the beam file.
This happened because I started the releases in the same directory they were created in. This is currently not mentioned in the docs but you should really move the releases to some other location and run them there like in the exrm example project.