chore(mix): produce tar and copy more files to release
This commit is contained in:
parent
4287a8f88d
commit
4977921cdb
46
mix.exs
46
mix.exs
|
@ -77,7 +77,23 @@ defmodule EMQXUmbrella.MixProject do
|
|||
|
||||
defp releases() do
|
||||
[
|
||||
emqx: [
|
||||
emqx: fn ->
|
||||
base_steps = [
|
||||
:assemble,
|
||||
&create_RELEASES/1,
|
||||
©_files/1,
|
||||
©_escript(&1, "nodetool"),
|
||||
©_escript(&1, "install_upgrade.escript")
|
||||
]
|
||||
|
||||
steps =
|
||||
if System.get_env("ELIXIR_MAKE_TAR") == "yes" do
|
||||
base_steps ++ [:tar]
|
||||
else
|
||||
base_steps
|
||||
end
|
||||
|
||||
[
|
||||
applications: [
|
||||
logger: :permanent,
|
||||
esasl: :load,
|
||||
|
@ -132,13 +148,9 @@ defmodule EMQXUmbrella.MixProject do
|
|||
:emqx_prometheus,
|
||||
:emqx_plugins
|
||||
],
|
||||
steps: [
|
||||
:assemble,
|
||||
&create_RELEASES/1,
|
||||
©_files/1,
|
||||
©_nodetool/1
|
||||
]
|
||||
steps: steps
|
||||
]
|
||||
end
|
||||
]
|
||||
end
|
||||
|
||||
|
@ -236,7 +248,7 @@ defmodule EMQXUmbrella.MixProject do
|
|||
[
|
||||
"common_defs.sh",
|
||||
"common_defs2.sh",
|
||||
"common_functions.sh",
|
||||
"common_functions.sh"
|
||||
],
|
||||
&Mix.Generator.copy_file(
|
||||
"bin/#{&1}",
|
||||
|
@ -255,7 +267,7 @@ defmodule EMQXUmbrella.MixProject do
|
|||
end
|
||||
|
||||
# needed by nodetool and by release_handler
|
||||
def create_RELEASES(release) do
|
||||
defp create_RELEASES(release) do
|
||||
apps =
|
||||
Enum.map(release.applications, fn {app_name, app_props} ->
|
||||
app_vsn = Keyword.fetch!(app_props, :vsn)
|
||||
|
@ -290,13 +302,13 @@ defmodule EMQXUmbrella.MixProject do
|
|||
release
|
||||
end
|
||||
|
||||
def copy_nodetool(release) do
|
||||
defp copy_escript(release, escript_name) do
|
||||
[shebang, rest] =
|
||||
"bin/nodetool"
|
||||
"bin/#{escript_name}"
|
||||
|> File.read!()
|
||||
|> String.split("\n", parts: 2)
|
||||
|
||||
path = Path.join([release.path, "bin", "nodetool"])
|
||||
path = Path.join([release.path, "bin", escript_name])
|
||||
# the elixir version of escript + start.boot required the boot_var
|
||||
# RELEASE_LIB to be defined.
|
||||
boot_var = "%%!-boot_var RELEASE_LIB $RUNNER_ROOT_DIR/lib"
|
||||
|
@ -305,24 +317,24 @@ defmodule EMQXUmbrella.MixProject do
|
|||
release
|
||||
end
|
||||
|
||||
def bcrypt_dep() do
|
||||
defp bcrypt_dep() do
|
||||
if enable_bcrypt?(),
|
||||
do: [{:bcrypt, github: "emqx/erlang-bcrypt", tag: "0.6.0", override: true}],
|
||||
else: []
|
||||
end
|
||||
|
||||
def quicer_dep() do
|
||||
defp quicer_dep() do
|
||||
if enable_quicer?(),
|
||||
# in conflict with emqx and emqtt
|
||||
do: [{:quicer, github: "emqx/quic", tag: "0.0.9", override: true}],
|
||||
else: []
|
||||
end
|
||||
|
||||
def enable_bcrypt?() do
|
||||
defp enable_bcrypt?() do
|
||||
not win32?()
|
||||
end
|
||||
|
||||
def enable_quicer?() do
|
||||
defp enable_quicer?() do
|
||||
not Enum.any?([
|
||||
build_without_quic?(),
|
||||
win32?(),
|
||||
|
@ -330,7 +342,7 @@ defmodule EMQXUmbrella.MixProject do
|
|||
])
|
||||
end
|
||||
|
||||
def pkg_vsn() do
|
||||
defp pkg_vsn() do
|
||||
basedir = Path.dirname(__ENV__.file)
|
||||
script = Path.join(basedir, "pkg-vsn.sh")
|
||||
{str_vsn, 0} = System.cmd(script, [])
|
||||
|
|
Loading…
Reference in New Issue