2020-02-18 19:06:35 -05:00
|
|
|
#!/usr/bin/env bash
|
2020-12-17 15:16:04 -06:00
|
|
|
set -euo pipefail
|
2020-02-18 19:06:35 -05:00
|
|
|
|
2020-04-30 07:52:54 -04:00
|
|
|
pushd() {
|
2021-06-28 22:06:55 +05:30
|
|
|
builtin pushd "$@" > /dev/null
|
2020-04-30 07:52:54 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
popd() {
|
2021-06-28 22:06:55 +05:30
|
|
|
builtin popd > /dev/null
|
2020-04-30 07:52:54 -04:00
|
|
|
}
|
|
|
|
|
|
2020-05-11 17:08:22 -04:00
|
|
|
vscode_version() {
|
2022-03-14 21:37:29 -05:00
|
|
|
jq -r .version lib/vscode/package.json
|
2020-05-11 17:08:22 -04:00
|
|
|
}
|
|
|
|
|
|
2020-04-30 07:52:54 -04:00
|
|
|
os() {
|
2022-08-04 11:03:28 -05:00
|
|
|
osname=$(uname | tr '[:upper:]' '[:lower:]')
|
|
|
|
|
case $osname in
|
|
|
|
|
linux)
|
|
|
|
|
# Alpine's ldd doesn't have a version flag but if you use an invalid flag
|
|
|
|
|
# (like --version) it outputs the version to stderr and exits with 1.
|
|
|
|
|
# TODO: Better to check /etc/os-release; see ../install.sh.
|
|
|
|
|
ldd_output=$(ldd --version 2>&1 || true)
|
|
|
|
|
if echo "$ldd_output" | grep -iq musl; then
|
|
|
|
|
osname="alpine"
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
darwin) osname="macos" ;;
|
|
|
|
|
cygwin* | mingw*) osname="windows" ;;
|
|
|
|
|
esac
|
|
|
|
|
echo "$osname"
|
2020-04-30 07:52:54 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
arch() {
|
2021-06-17 19:28:54 +02:00
|
|
|
cpu="$(uname -m)"
|
|
|
|
|
case "$cpu" in
|
2022-08-04 11:03:28 -05:00
|
|
|
aarch64) cpu=arm64 ;;
|
|
|
|
|
x86_64) cpu=amd64 ;;
|
2020-04-30 07:52:54 -04:00
|
|
|
esac
|
2022-08-04 11:03:28 -05:00
|
|
|
echo "$cpu"
|
2020-02-18 19:06:35 -05:00
|
|
|
}
|
2020-05-11 17:08:22 -04:00
|
|
|
|
2020-05-16 10:55:46 -04:00
|
|
|
rsync() {
|
|
|
|
|
command rsync -a --del "$@"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ARCH="$(arch)"
|
|
|
|
|
export ARCH
|
|
|
|
|
OS=$(os)
|
|
|
|
|
export OS
|
|
|
|
|
|
|
|
|
|
# RELEASE_PATH is the destination directory for the release from the root.
|
|
|
|
|
# Defaults to release
|
|
|
|
|
RELEASE_PATH="${RELEASE_PATH-release}"
|