Hi, I have either found a bug in Elixir’s mix release
task or I am doing something wrong.
I added a releases
section to my mix.exs def project do
section as follows:
app: :nai,
...
default_release: :naiims,
releases: [
naiims: [
include_executables_for: [:unix],
applications: [runtime_tools: :permanent],
steps: [:assemble, :tar]
]
]
The actual module namespace I use in my code is Nai.
and all my config’s are config :nai, ...
.
After running MIX_ENV=prod mix release
I have executables in _build/prod/rel/naiims/bin/
, the main executable being _build/prod/rel/naiims/bin/naiims
, which is right. But the other scripts (server
and migrate
) are calling nai
! Here is the server
script for example:
#!/bin/sh
cd -P -- "$(dirname -- "$0")"
PHX_SERVER=true exec ./nai start
It should be ./naiims
not ./nai
.
Btw, I also noticed it is still generates the windows .bat
files even though my config specifies :unix
.
(Personally I wish there was just the one exectuable (e.g. naiims
) and neither of other two, and one could just say naiims migrate
for migrations.)