dotnet-installer/scripts/build/build.sh
Piotr Puszkiewicz 4b217db9c0 Clean up build scripts
Decompose into self-contained granular components
Provide reasonable defaults for cross cutting concerns, allowing for independent execution of steps
Start unifying Windows/Bash architecture

fix Bash CI scripts

dockerbuild.sh _common.sh path

Add missing restore-packages.sh

Copy/paste issues

Quote $SOURCE
fix .gitignore

PR Feedback

Merge in @SridarMS's work to avoid redownloading DNX

enabling build of dotnet-build

merge in @SridharMS's CentOS changes

Enable building FSC

enable restoring specific subdirectories

Fix dnx version check

Add missed dependency

Fix pathing to tests

Match Linux build version to Windows, fixing linux tests as a side effect.

workaround for coreclr#2215

fix pathing issue

disable building in docker

BUILD_IN_DOCKER was set, somehow...

fix headers
2015-12-29 01:59:02 -08:00

61 lines
No EOL
1.8 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 OFFLINE environment variable to build offline
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 )"
source "$DIR/../common/_common.sh"
source "$REPOROOT/scripts/build/generate-version.sh"
header "Building dotnet tools version $DOTNET_BUILD_VERSION - $CONFIGURATION"
header "Checking Pre-Reqs"
$REPOROOT/scripts/test/check-prereqs.sh
header "Restoring Tools and Packages"
if [ ! -z "$OFFLINE" ]; then
info "Skipping Tools and Package Download: Offline build"
else
$REPOROOT/scripts/obtain/install-tools.sh
$REPOROOT/scripts/build/restore-packages.sh
fi
header "Compiling"
$REPOROOT/scripts/compile/compile.sh
# Skipping tests for centos
# tracked by issue - https://github.com/dotnet/corefx/issues/5066
if [ "$OSNAME" != "centos" ]; then
# Run tests on the stage2 output
header "Testing stage2..."
DOTNET_HOME=$STAGE2_DIR DOTNET_TOOLS=$STAGE2_DIR $REPOROOT/scripts/test/runtests.sh
else
header "Skipping tests on CentOS due to corefx issue 5066"
fi
header "Validating Dependencies"
$REPOROOT/scripts/test/validate-dependencies.sh
header "Generating tarball"
$REPOROOT/scripts/package/package.sh
if [ ! -z "$NOPACKAGE" ]; then
header "Generating Native Installer"
$REPOROOT/scripts/package/package-native.sh
else
header "Skipping packaging"
fi