Files
MeWeb/tools/sdk.sh
T

17 lines
835 B
Bash
Raw Normal View History

root="$(cd "$(dirname "$0")/.." && pwd)"
sdk=$(sed -n 's/.*"version": *"\([^"]*\)".*/\1/p' "$root/global.json" | head -n 1)
has_sdk() { [ -x "$1/dotnet" ] && [ -w "$1" ] && (cd "$root" && "$1/dotnet" --version >/dev/null 2>&1); }
dotnet_dir=""
for candidate in "$DOTNET_ROOT" "$HOME/.dotnet"; do
if [ -n "$candidate" ] && has_sdk "$candidate"; then dotnet_dir="$candidate"; break; fi
done
if [ -z "$dotnet_dir" ]; then
dotnet_dir="$HOME/.dotnet"
echo ".NET SDK $sdk not found: installing it into $dotnet_dir"
script=$(mktemp "${TMPDIR:-/tmp}/dotnet-install.XXXXXX")
curl -fsSL https://dot.net/v1/dotnet-install.sh -o "$script"
bash "$script" --version "$sdk" --install-dir "$dotnet_dir"
rm -f "$script"
fi
export DOTNET_ROOT="$dotnet_dir" PATH="$dotnet_dir:$PATH" DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1
cd "$root"