dotnet-installer/build_projects/update-dependencies/update-dependencies.sh
Eric Erhardt f82fa91f58 Fix update-dependencies by slimming it way down.
It can no longer be dependent on Cli.Utils, since that will affect which version of NuGet gets used.  It's better for this small console app to just depend on VersionTools.
2017-05-11 10:15:05 -05:00

59 lines
1.7 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
set -e
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
REPO_ROOT="$DIR/../.."
PROJECT_PATH="$DIR/update-dependencies.csproj"
# Some things depend on HOME and it may not be set. We should fix those things, but until then, we just patch a value in
if [ -z "${HOME:-}" ]; then
export HOME=$REPO_ROOT/artifacts/home
[ ! -d "$HOME" ] || rm -Rf "$HOME"
mkdir -p "$HOME"
fi
# Use a repo-local install directory (but not the artifacts directory because that gets cleaned a lot)
if [ -z "${DOTNET_INSTALL_DIR:-}" ]; then
export DOTNET_INSTALL_DIR=$REPO_ROOT/.dotnet_stage0/x64
fi
# Install a stage 0
echo "Installing .NET Core CLI Stage 0"
$REPO_ROOT/scripts/obtain/dotnet-install.sh -Channel master -Architecture x64
if [ $? -ne 0 ]; then
echo "Failed to install stage 0"
exit 1
fi
# Put the stage 0 on the path
export PATH=$DOTNET_INSTALL_DIR:$PATH
echo "Restoring $PROJECT_PATH..."
dotnet restore "$PROJECT_PATH"
if [ $? -ne 0 ]; then
echo "Failed to restore"
exit 1
fi
echo "Invoking App $PROJECT_PATH..."
dotnet run -p "$PROJECT_PATH" $@
if [ $? -ne 0 ]; then
echo "Build failed"
exit 1
fi