fix: download the correct lua-language-server
This commit is contained in:
@@ -63,14 +63,73 @@ clone_deps() {
|
|||||||
|
|
||||||
install_luals() {
|
install_luals() {
|
||||||
local dest_dir=${1:-"$PWD/target/tests"}
|
local dest_dir=${1:-"$PWD/target/tests"}
|
||||||
local luals_url_template="https://github.com/LuaLS/lua-language-server/releases/download/__VERSION__/lua-language-server-__VERSION__-linux-x64.tar.gz"
|
|
||||||
|
# Detect operating system and architecture
|
||||||
|
local os_name=""
|
||||||
|
local arch=""
|
||||||
|
local file_ext=""
|
||||||
|
local extract_cmd=""
|
||||||
|
|
||||||
|
case "$(uname -s)" in
|
||||||
|
Linux*)
|
||||||
|
os_name="linux"
|
||||||
|
file_ext="tar.gz"
|
||||||
|
;;
|
||||||
|
Darwin*)
|
||||||
|
os_name="darwin"
|
||||||
|
file_ext="tar.gz"
|
||||||
|
;;
|
||||||
|
CYGWIN*|MINGW*|MSYS*)
|
||||||
|
os_name="win32"
|
||||||
|
file_ext="zip"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log "Unsupported operating system: $(uname -s)"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$(uname -m)" in
|
||||||
|
x86_64|amd64)
|
||||||
|
arch="x64"
|
||||||
|
;;
|
||||||
|
arm64|aarch64)
|
||||||
|
arch="arm64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log "Unsupported architecture: $(uname -m), falling back to x64"
|
||||||
|
arch="x64"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Set up extraction command based on file type
|
||||||
|
if [ "$file_ext" = "tar.gz" ]; then
|
||||||
|
extract_cmd="tar zx --directory"
|
||||||
|
else
|
||||||
|
extract_cmd="unzip -q -d"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local platform="${os_name}-${arch}"
|
||||||
|
local luals_url_template="https://github.com/LuaLS/lua-language-server/releases/download/__VERSION__/lua-language-server-__VERSION__-__PLATFORM__.__EXT__"
|
||||||
local luals_download_url="${luals_url_template//__VERSION__/$LUALS_VERSION}"
|
local luals_download_url="${luals_url_template//__VERSION__/$LUALS_VERSION}"
|
||||||
local luals_dir="$dest_dir/lua-language-server-${LUALS_VERSION}"
|
luals_download_url="${luals_download_url//__PLATFORM__/$platform}"
|
||||||
|
luals_download_url="${luals_download_url//__EXT__/$file_ext}"
|
||||||
|
|
||||||
|
local luals_dir="$dest_dir/lua-language-server-${LUALS_VERSION}-${platform}"
|
||||||
|
|
||||||
if [ ! -d "$luals_dir" ]; then
|
if [ ! -d "$luals_dir" ]; then
|
||||||
log "Installing lua-language-server ${LUALS_VERSION}..."
|
log "Installing lua-language-server ${LUALS_VERSION} for ${platform}..."
|
||||||
mkdir -p "$luals_dir"
|
mkdir -p "$luals_dir"
|
||||||
curl -sSL "${luals_download_url}" | tar zx --directory "$luals_dir"
|
|
||||||
|
if [ "$file_ext" = "tar.gz" ]; then
|
||||||
|
curl -sSL "${luals_download_url}" | tar zx --directory "$luals_dir"
|
||||||
|
else
|
||||||
|
# For zip files, download first then extract
|
||||||
|
local temp_file="/tmp/luals-${LUALS_VERSION}.zip"
|
||||||
|
curl -sSL "${luals_download_url}" -o "$temp_file"
|
||||||
|
unzip -q "$temp_file" -d "$luals_dir"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
log_verbose "lua-language-server is already installed in $luals_dir"
|
log_verbose "lua-language-server is already installed in $luals_dir"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user