download dnx during the build
This commit is contained in:
parent
16fa836215
commit
1d764f1c64
8 changed files with 31 additions and 34 deletions
|
@ -6,9 +6,11 @@
|
|||
$Rid = "win7-x64"
|
||||
$Tfm = "dnxcore50"
|
||||
|
||||
$RepoRoot = Convert-Path "$PSScriptRoot\.."
|
||||
$DnxVersion = "1.0.0-rc1-update1"
|
||||
|
||||
$RepoRoot = Convert-Path "$PSScriptRoot\.."
|
||||
$OutputDir = "$RepoRoot\artifacts\$Rid"
|
||||
$DnxDir = "$OutputDir\dnx"
|
||||
$Stage1Dir = "$OutputDir\stage1"
|
||||
$Stage2Dir = "$OutputDir\stage2"
|
||||
$HostDir = "$OutputDir\corehost"
|
||||
|
|
|
@ -77,16 +77,20 @@ if [ -z "$RID" ]; then
|
|||
if [ "$UNAME" == "Darwin" ]; then
|
||||
export OSNAME=osx
|
||||
export RID=osx.10.10-x64
|
||||
export DNX_FLAVOR="dnx-coreclr-darwin-x64"
|
||||
elif [ "$UNAME" == "Linux" ]; then
|
||||
# Detect Distro?
|
||||
export OSNAME=linux
|
||||
export RID=ubuntu.14.04-x64
|
||||
export DNX_FLAVOR="dnx-coreclr-linux-x64"
|
||||
else
|
||||
error "unknown OS: $UNAME" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
export DNX_VERSION="1.0.0-rc1-update1"
|
||||
|
||||
export REPOROOT=$(cd $COMMONDIR/.. && pwd)
|
||||
export OUTPUT_ROOT=$REPOROOT/artifacts/$RID
|
||||
export DNX_DIR=$OUTPUT_ROOT/dnx
|
||||
|
|
|
@ -31,27 +31,26 @@ Download it from https://www.cmake.org
|
|||
Exit 1
|
||||
}
|
||||
|
||||
|
||||
# Put stage 0 on the path
|
||||
$DotNetTools = $env:DOTNET_INSTALL_DIR
|
||||
if (!$DotNetTools) {
|
||||
$DotNetTools = "$($env:LOCALAPPDATA)\Microsoft\dotnet"
|
||||
}
|
||||
|
||||
if (Test-Path "$DotNetTools\cli\dotnet.exe") {
|
||||
Write-Warning "Your stage0 is using the old layout"
|
||||
$DnxDir = "$DotNetTools\cli\dnx"
|
||||
$env:PATH = "$DotNetTools\cli;$StartPath"
|
||||
} elseif (Test-Path "$DotNetTools\cli\bin\dotnet.exe") {
|
||||
$DnxDir = "$DotNetTools\cli\bin\dnx"
|
||||
$env:PATH = "$DotNetTools\cli\bin;$StartPath"
|
||||
} else {
|
||||
throw "Couldn't find stage0 dotnet tools!"
|
||||
# Download dnx to copy to stage2
|
||||
if ((Test-Path "$DnxDir")) {
|
||||
Remove-Item -Recurse -Force $DnxDir
|
||||
}
|
||||
mkdir "$DnxDir" | Out-Null
|
||||
$DnxUrl="https://api.nuget.org/packages/dnx-coreclr-win-x64.$DnxVersion.nupkg"
|
||||
Invoke-WebRequest -UseBasicParsing "$DnxUrl" -OutFile "$DnxDir\dnx.zip"
|
||||
Add-Type -Assembly System.IO.Compression.FileSystem | Out-Null
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory("$DnxDir\dnx.zip", "$DnxDir")
|
||||
$DnxRoot = "$DnxDir/bin"
|
||||
|
||||
# Restore packages
|
||||
header "Restoring packages"
|
||||
dotnet restore "$RepoRoot" --quiet --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" --no-cache
|
||||
& "$DnxRoot\dnu" restore "$RepoRoot" --quiet --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" --no-cache
|
||||
if (!$?) {
|
||||
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
|
||||
|
@ -118,7 +117,7 @@ Download it from https://www.cmake.org
|
|||
|
||||
|
||||
# Copy dnx into stage 2
|
||||
cp -rec "$DnxDir\" "$Stage2Dir\bin\dnx\"
|
||||
cp -rec "$DnxRoot\" "$Stage2Dir\bin\dnx\"
|
||||
|
||||
# Copy in the dotnet-restore script
|
||||
cp "$PSScriptRoot\dotnet-restore.cmd" "$Stage2Dir\bin\dotnet-restore.cmd"
|
||||
|
|
|
@ -13,7 +13,6 @@ while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symli
|
|||
[[ $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 )"
|
||||
REPOROOT="$( cd -P "$DIR/.." && pwd )"
|
||||
|
||||
source "$DIR/_common.sh"
|
||||
|
||||
|
@ -26,7 +25,15 @@ fi
|
|||
|
||||
[ -z "$CONFIGURATION" ] && export CONFIGURATION=Debug
|
||||
|
||||
REPOROOT="$( cd -P "$DIR/.." && pwd )"
|
||||
# Download DNX to copy into stage2
|
||||
header "Downloading DNX $DNX_VERSION"
|
||||
DNX_URL="https://api.nuget.org/packages/$DNX_FLAVOR.$DNX_VERSION.nupkg"
|
||||
DNX_ROOT="$DNX_DIR/bin"
|
||||
rm -rf $DNX_DIR
|
||||
mkdir -p $DNX_DIR
|
||||
curl -o $DNX_DIR/dnx.zip $DNX_URL --silent
|
||||
unzip -qq $DNX_DIR/dnx.zip -d $DNX_DIR
|
||||
chmod a+x $DNX_ROOT/dnu $DNX_ROOT/dnx
|
||||
|
||||
# Ensure the latest stage0 is installed
|
||||
$DIR/install.sh
|
||||
|
@ -39,19 +46,9 @@ unset DOTNET_TOOLS
|
|||
|
||||
DOTNET_PATH=$(which dotnet)
|
||||
PREFIX="$(cd -P "$(dirname "$DOTNET_PATH")/.." && pwd)"
|
||||
DNX_ROOT="$PREFIX/share/dotnet/cli/bin/dnx"
|
||||
if [ ! -d "$DNX_ROOT" ]; then
|
||||
echo "warning: your stage0 is using the old layout" 1>&2
|
||||
DNX_ROOT="$PREFIX/share/dotnet/cli/dnx"
|
||||
fi
|
||||
|
||||
if [ ! -d "$DNX_ROOT" ] || [ ! -e "$DNX_ROOT/dnx" ]; then
|
||||
echo "error: could not find DNX in $DNX_ROOT" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
header "Restoring packages"
|
||||
dotnet restore "$REPOROOT" --quiet --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" --no-cache
|
||||
$DNX_ROOT/dnu restore "$REPOROOT" --quiet --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" --no-cache
|
||||
|
||||
header "Building corehost"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ set BIN_DIR=%CD%\bin
|
|||
popd
|
||||
|
||||
REM Replace with a robust method for finding the right crossgen.exe
|
||||
set CROSSGEN_UTIL=%UserProfile%\.dnx\packages\runtime.win7-x64.Microsoft.NETCore.Runtime.CoreCLR\1.0.1-beta-23504\tools\crossgen.exe
|
||||
set CROSSGEN_UTIL=%UserProfile%\.dnx\packages\runtime.win7-x64.Microsoft.NETCore.Runtime.CoreCLR\1.0.1-rc2-23608\tools\crossgen.exe
|
||||
|
||||
REM Crossgen currently requires itself to be next to mscorlib
|
||||
copy %CROSSGEN_UTIL% /Y %BIN_DIR% > nul
|
||||
|
|
|
@ -22,7 +22,7 @@ if [ -z "$RID" ]; then
|
|||
fi
|
||||
|
||||
# Replace with a robust method for finding the right crossgen.exe
|
||||
CROSSGEN_UTIL=~/.dnx/packages/runtime.$RID.Microsoft.NETCore.Runtime.CoreCLR/1.0.1-beta-23504/tools/crossgen
|
||||
CROSSGEN_UTIL=~/.dnx/packages/runtime.$RID.Microsoft.NETCore.Runtime.CoreCLR/1.0.1-rc2-23608/tools/crossgen
|
||||
|
||||
cd $BIN_DIR
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ REM Licensed under the MIT license. See LICENSE file in the project root for ful
|
|||
SETLOCAL
|
||||
SET ERRORLEVEL=
|
||||
|
||||
"%~dp0dnx\dnx" "%~dp0dnx\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll" restore %*
|
||||
"%~dp0dnx\dnx" "%~dp0dnx\lib\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll" restore %*
|
||||
|
||||
exit /b %ERRORLEVEL%
|
||||
ENDLOCAL
|
||||
|
|
|
@ -8,11 +8,6 @@
|
|||
"NETStandard.Library": "1.0.0-rc2-23608",
|
||||
"System.Linq": "4.0.1-rc2-23608",
|
||||
|
||||
"Microsoft.DotNet.ILCompiler": "1.0.2-*",
|
||||
"Microsoft.DotNet.ObjectWriter": "1.0.2-*",
|
||||
"Microsoft.DotNet.RyuJit": "1.0.0-*",
|
||||
"Microsoft.DotNet.Compiler.Common": "1.0.0-*",
|
||||
|
||||
"Microsoft.DotNet.Cli.Utils": {
|
||||
"type": "build",
|
||||
"version": "1.0.0-*"
|
||||
|
|
Loading…
Reference in a new issue