85 lines
2.3 KiB
Bash
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 |