Merge pull request #544 from piotrpMSFT/piotrpMSFT/260/offlineBuilds
Offline builds. Fixes #260. On Windows, build.cmd -Offline @brthor is adding a parameter option for Linux/Mac
This commit is contained in:
commit
f17a2dbb93
4 changed files with 76 additions and 54 deletions
10
build.sh
10
build.sh
|
@ -4,7 +4,8 @@
|
|||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
# $1 is passed to package to enable deb or pkg packaging
|
||||
# Set OFFLINE environment variable to build offline
|
||||
|
||||
set -e
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]}"
|
||||
|
@ -27,12 +28,19 @@ do
|
|||
debug)
|
||||
export CONFIGURATION=Debug
|
||||
;;
|
||||
offline)
|
||||
export OFFLINE=true
|
||||
;;
|
||||
*)
|
||||
esac
|
||||
done
|
||||
|
||||
[ -z "$CONFIGURATION" ] && CONFIGURATION=Debug
|
||||
|
||||
if [ ! -z "$OFFLINE" ]; then
|
||||
header " - Offline Build - "
|
||||
fi
|
||||
|
||||
# Use a repo-local install directory (but not the artifacts directory because that gets cleaned a lot
|
||||
export DOTNET_INSTALL_DIR=$DIR/.dotnet_stage0/$RID
|
||||
[ -d $DOTNET_INSTALL_DIR ] || mkdir -p $DOTNET_INSTALL_DIR
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
#
|
||||
|
||||
param(
|
||||
[string]$Configuration="Debug")
|
||||
[string]$Configuration="Debug",
|
||||
[switch]$Offline)
|
||||
|
||||
. "$PSScriptRoot\_common.ps1"
|
||||
|
||||
|
@ -35,7 +36,11 @@ if (!$env:DOTNET_BUILD_VERSION) {
|
|||
}
|
||||
|
||||
Write-Host -ForegroundColor Green "*** Building dotnet tools version $($env:DOTNET_BUILD_VERSION) - $Configuration ***"
|
||||
& "$PSScriptRoot\compile.ps1" -Configuration:$Configuration
|
||||
if ($Offline)
|
||||
{
|
||||
Write-Host -ForegroundColor Yellow " - Offline Build -"
|
||||
}
|
||||
& "$PSScriptRoot\compile.ps1" -Configuration:$Configuration -Offline:$Offline
|
||||
if (!$?) {
|
||||
Write-Host "Building dotnet tools finished with errors."
|
||||
Exit 1
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
param([string]$Configuration = "Debug")
|
||||
param([string]$Configuration = "Debug",
|
||||
[switch]$Offline)
|
||||
|
||||
$ErrorActionPreference="Stop"
|
||||
|
||||
|
@ -23,6 +24,10 @@ Download it from https://www.cmake.org
|
|||
"@
|
||||
}
|
||||
|
||||
if($Offline){
|
||||
Write-Host "Skipping Stage 0, Dnx, and Packages dowlnoad: Offline build"
|
||||
}
|
||||
else {
|
||||
# Install a stage 0
|
||||
header "Installing dotnet stage 0"
|
||||
& "$PSScriptRoot\install.ps1"
|
||||
|
@ -55,7 +60,7 @@ Download it from https://www.cmake.org
|
|||
Write-Host "Command failed: " dotnet restore "$RepoRoot" --quiet --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" --no-cache
|
||||
Exit 1
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
header "Building corehost"
|
||||
pushd "$RepoRoot\src\corehost"
|
||||
|
|
|
@ -25,6 +25,9 @@ fi
|
|||
|
||||
[ -z "$CONFIGURATION" ] && export CONFIGURATION=Debug
|
||||
|
||||
if [[ ! -z "$OFFLINE" ]]; then
|
||||
header "Skipping Stage 0, Dnx, and Packages download: Offline Build"
|
||||
else
|
||||
# Download DNX to copy into stage2
|
||||
header "Downloading DNX $DNX_VERSION"
|
||||
DNX_URL="https://api.nuget.org/packages/$DNX_FLAVOR.$DNX_VERSION.nupkg"
|
||||
|
@ -49,6 +52,7 @@ PREFIX="$(cd -P "$(dirname "$DOTNET_PATH")/.." && pwd)"
|
|||
|
||||
header "Restoring packages"
|
||||
$DNX_ROOT/dnu restore "$REPOROOT" --quiet --runtime "$RID" --no-cache
|
||||
fi
|
||||
|
||||
header "Building corehost"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue