chore: kcl-install
This commit is contained in:
parent
48666bb3dc
commit
32bce2fa2a
38
distribution/kcl-install.sh
Executable file
38
distribution/kcl-install.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
[ -r env ] && . ./env
|
||||||
|
[ -r ../env ] && . ../env
|
||||||
|
|
||||||
|
# KCL_VERSION="0.11.2"
|
||||||
|
KCL_SOURCE="https://github.com/kcl-lang/cli/releases"
|
||||||
|
KCL_TAGS="https://github.com/kcl-lang/cli/tags"
|
||||||
|
KCL_SITE="https://kcl-lang.io"
|
||||||
|
|
||||||
|
if [ -z "$KCL_VERSION" ] ; then
|
||||||
|
echo "KCL_VERSION not set in env"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$1" == "check" ] ; then
|
||||||
|
CHECK_ONLY="yes"
|
||||||
|
fi
|
||||||
|
OS="$(uname | tr '[:upper:]' '[:lower:]')"
|
||||||
|
ORG_OS=$(uname)
|
||||||
|
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')"
|
||||||
|
ORG_ARCH="$(uname -m)"
|
||||||
|
|
||||||
|
has_kcl=$(type -P kcl)
|
||||||
|
num_version=0
|
||||||
|
[ -n "$has_kcl" ] && kcl_version=$(kcl -v | cut -f3 -d" " | sed 's/ //g') && num_version=${kcl_version//\./}
|
||||||
|
expected_version_num=${KCL_VERSION//\./}
|
||||||
|
[ -z "$num_version" ] && num_version=0
|
||||||
|
if [ -z "$CHECK_ONLY" ] && [ "$num_version" -lt "$expected_version_num" ] ; then
|
||||||
|
curl -fsSLO "https://github.com/kcl-lang/cli/releases/download/v${KCL_VERSION}/kcl-v${KCL_VERSION}-${OS}-${ARCH}.tar.gz" &&
|
||||||
|
tar -xzf "kcl-v${KCL_VERSION}-${OS}-${ARCH}.tar.gz" &&
|
||||||
|
sudo mv kcl /usr/local/bin/kcl &&
|
||||||
|
rm -f "kcl-v${KCL_VERSION}-${OS}-${ARCH}.tar.gz" &&
|
||||||
|
printf "%s\t%s\n" "kcl" "installed $KCL_VERSION"
|
||||||
|
elif [ -n "$CHECK_ONLY" ] ; then
|
||||||
|
printf "%s\t%s\t%s\n" "kcl" "$kcl_version" "expected $KCL_VERSION"
|
||||||
|
else
|
||||||
|
printf "%s\t%s\n" "kcl" "already $KCL_VERSION"
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user