ide/scripts/elixir-ls-setup.sh
Joao P Dubas f19ab4df1a chore(elixir): clone the repo only one time
Install each version on a separate release folder.
2024-01-11 07:17:34 -03:00

29 lines
905 B
Bash
Executable File

#!/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
echo "using erlang $(rtx current erlang) / elixir $(rtx current elixir)"
echo "install erlang/elixir runtimes"
KERL_CONFIGURE_OPTIONS="-with-ssl=${HOME}/.local/lib/ssl" rtx install
echo "install elixir-ls deps"
mix do local.rebar --force, local.hex --force, deps.get, deps.compile
echo "compile and release elixir-ls"
MIX_ENV=prod mix compile
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
mix do deps.clean --all, clean
git checkout master
}
setup $1