chore: Add install script
This commit is contained in:
parent
e145f518d8
commit
72ca8260c8
72
install
Executable file
72
install
Executable file
@ -0,0 +1,72 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# install location
|
||||||
|
LOCATION=/usr/local/bin
|
||||||
|
|
||||||
|
# platform IDs
|
||||||
|
LIN=linux
|
||||||
|
MAC=macos
|
||||||
|
WIN=windows
|
||||||
|
|
||||||
|
# returns this platform ID
|
||||||
|
function get_this_platform() {
|
||||||
|
local this_platform="$(uname -s)"
|
||||||
|
case $this_platform in
|
||||||
|
Linux*) echo $LIN ;;
|
||||||
|
Darwin*) echo $MAC ;;
|
||||||
|
*)
|
||||||
|
echo "Error: Unsupported platform $this_platform" >&2
|
||||||
|
fail
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# actually sets this platform
|
||||||
|
THIS_PLATFORM=$(get_this_platform)
|
||||||
|
|
||||||
|
# fetches latest release download link for the platform
|
||||||
|
function get_latest_warp_link() {
|
||||||
|
local this_platform=$1
|
||||||
|
echo $(curl -fsSL "https://api.github.com/repos/dgiagio/warp/releases" \
|
||||||
|
| grep "browser_download_url" \
|
||||||
|
| grep "$this_platform-x64.warp-packer" \
|
||||||
|
| head -n 1 \
|
||||||
|
| awk '{print $2}' \
|
||||||
|
| sed -e 's/"//g'
|
||||||
|
)
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "Error: Failed to get information about releases" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# downloads and installs single binary
|
||||||
|
function install() {
|
||||||
|
local name=$1
|
||||||
|
local link=$2
|
||||||
|
local temp_location="/tmp/$name"
|
||||||
|
echo "Downloading $name..."
|
||||||
|
curl -fsSL -o "$temp_location" "$link"
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "Error: Failed to download $name" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Installing $name..."
|
||||||
|
chmod 755 "$temp_location" && \
|
||||||
|
sudo chown root:root "$temp_location" && \
|
||||||
|
sudo mkdir -p "$LOCATION" && \
|
||||||
|
sudo mv "$temp_location" "$LOCATION/$name"
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "Error: Failed to install $name" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
WARP4J_LINK="https://raw.githubusercontent.com/guziks/warp4j/master/warp4j"
|
||||||
|
|
||||||
|
echo "Getting information about warp-packer releases..."
|
||||||
|
WARP_LINK=$(get_latest_warp_link $THIS_PLATFORM)
|
||||||
|
|
||||||
|
install "warp-packer" "$WARP_LINK" && \
|
||||||
|
install "warp4j" "$WARP4J_LINK" && \
|
||||||
|
echo "Successfully installed"
|
Loading…
Reference in New Issue
Block a user