TeaWeb/scripts/install_dependencies.sh

85 lines
2.3 KiB
Bash

#!/usr/bin/env bash
install_sys_deps() {
# shellcheck disable=SC2207
curl_version=($(curl --version 2>/dev/null))
# shellcheck disable=SC2181
if [[ $? -ne 0 ]]; then
echo "> Missing curl. Please install it."
exit 1
fi
echo "> Found curl ${curl_version[1]}"
}
install_node() {
node_version=$(node --version 2>/dev/null)
# shellcheck disable=SC2181
if [[ $? -ne 0 ]]; then
echo "> Missing node. We can't currently install it automatically."
echo "> Please download the latest version here: https://nodejs.org/en/download/"
exit 1
else
echo "> Found node $node_version"
fi
npm_version=$(npm --version 2>/dev/null)
# shellcheck disable=SC2181
if [[ $? -ne 0 ]]; then
echo "> Missing npm. Please ensure you've correctly installed node."
echo "> You may need to add npm manually to your PATH variable."
exit 1
else
echo "> Found npm $npm_version"
fi
}
install_rust() {
rustup_version=$(rustup --version 2>/dev/null)
if [[ $? -ne 0 ]]; then
echo "> Missing rustup, installing..."
curl https://build.travis-ci.org/files/rustup-init.sh -sSf | sh -s -- -y --default-toolchain nightly
# shellcheck disable=SC2181
[[ $? -ne 0 ]] && {
echo "> Failed to install rustup"
exit 1
}
PATH="$PATH:$HOME/.cargo/bin"
rustup_version=$(rustup --version 2>/dev/null)
echo "> Installed $rustup_version"
else
echo "> Found $rustup_version"
fi
echo "> Installing/updating the wasm32-unknown-unknown host"
rustup target add wasm32-unknown-unknown
if [[ $? -ne 0 ]]; then
echo "> Failed to install/updating the wasm target"
exit 1
fi
}
install_wasmpack() {
wasmpack_version=$(wasm-pack --version 2>/dev/null)
if [[ $? -ne 0 ]]; then
echo "> Missing wasm-pack, installing..."
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
# shellcheck disable=SC2181
[[ $? -ne 0 ]] && {
echo "> Failed to install wasm-pack"
exit 1
}
wasmpack_version=$(wasm-pack --version 2>/dev/null)
echo "> Installed $wasmpack_version"
else
echo "> Found $wasmpack_version"
fi
}
install_sys_deps
install_node
install_rust
install_wasmpack