2024-01-14 19:00:37 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
function setup() {
|
|
|
|
local elixir_ls_home=${LOCAL_SRC_HOME}/elixir-ls
|
|
|
|
local elixir_ls_release=${elixir_ls_home}/release
|
|
|
|
echo "elixir-ls repo"
|
|
|
|
cd ${elixir_ls_home}
|
|
|
|
echo "checkout versions ${1}"
|
|
|
|
git checkout tags/${1}
|
|
|
|
echo "set erlang/elixir versions"
|
|
|
|
cp .release-tool-versions .tool-versions
|
2024-10-30 18:49:45 +00:00
|
|
|
if [[ ! -z "$2" ]]; then
|
|
|
|
echo "override erlang to ${2}"
|
|
|
|
sed -i "s/erlang .*/erlang ${2}/g" .tool-versions
|
|
|
|
fi
|
|
|
|
if [[ ! -z "$3" ]]; then
|
|
|
|
echo "override elixir to ${3}"
|
|
|
|
sed -i "s/elixir .*/elixir ${3}/g" .tool-versions
|
|
|
|
fi
|
2024-01-14 19:00:37 +00:00
|
|
|
local current_erlang=$(mise current erlang)
|
|
|
|
local current_elixir=$(mise current elixir)
|
|
|
|
echo "using erlang ${current_erlang} / elixir ${current_elixir}"
|
|
|
|
echo "install erlang/elixir runtimes"
|
|
|
|
KERL_CONFIGURE_OPTIONS="-with-ssl=${HOME}/.local/lib/ssl" mise install
|
|
|
|
echo "install elixir-ls deps"
|
|
|
|
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "mix do local.rebar --force, local.hex --force, deps.get, deps.compile"
|
|
|
|
echo "compile and release elixir-ls"
|
|
|
|
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "MIX_ENV=prod mix compile"
|
|
|
|
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "MIX_ENV=prod mix elixir_ls.release -o ${elixir_ls_release}/${1}"
|
|
|
|
echo "remove local .tool-versions"
|
|
|
|
cp .tool-versions ${elixir_ls_release}/${1}
|
|
|
|
rm .tool-versions
|
|
|
|
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "mix do deps.clean --all, clean"
|
|
|
|
git checkout master
|
|
|
|
}
|
|
|
|
|
2024-10-30 18:49:45 +00:00
|
|
|
setup $1 $2 $3
|