diff --git a/UpdatePublishedVersions.ps1 b/UpdatePublishedVersions.ps1 index ceaff8621bec..cef54e535030 100644 --- a/UpdatePublishedVersions.ps1 +++ b/UpdatePublishedVersions.ps1 @@ -16,6 +16,7 @@ param( # A pattern matching all packages in the set that the versions repository should be set to. [Parameter(Mandatory=$true)][string]$nupkgPath) +& "$PSScriptRoot\init-tools.cmd" & "$PSScriptRoot\dotnet.cmd" msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false ` /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll`;LogFile=binclash.log ` /p:RestoreDefaultOptimizationDataPackage=false ` diff --git a/build-test.sh b/build-test.sh index 2b9635de478b..a6569cb8dd9b 100755 --- a/build-test.sh +++ b/build-test.sh @@ -994,7 +994,8 @@ fi # init the target distro name initTargetDistroRid -# Override tool directory +# Restore Build Tools +source $__ProjectRoot/init-tools.sh if [[ (-z "$__GenerateLayoutOnly") && (-z "$__GenerateTestHostOnly") && (-z "$__BuildTestWrappersOnly") ]]; then build_Tests diff --git a/build.sh b/build.sh index f98bc3e95300..81d6610cb8c0 100755 --- a/build.sh +++ b/build.sh @@ -152,9 +152,9 @@ restore_optdata() # Parse the optdata package versions out of msbuild so that we can pass them on to CMake local DotNetCli="$__ProjectRoot/.dotnet/dotnet" if [ ! -f $DotNetCli ]; then - source "$__ProjectRoot/init-tools.sh" + source "$__ProjectRoot/init-dotnet.sh" if [ $? != 0 ]; then - echo "Failed to restore buildtools." + echo "Failed to install dotnet." exit 1 fi fi diff --git a/dotnet.cmd b/dotnet.cmd index afb3f5a50db2..d3cfa14863fc 100644 --- a/dotnet.cmd +++ b/dotnet.cmd @@ -14,10 +14,10 @@ set DOTNET_MULTILEVEL_LOOKUP=0 :: Disable first run since we do not need all ASP.NET packages restored. set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -:: Restore the Tools directory -call %~dp0init-tools.cmd +REM :: Install dotnet +call %~dp0\init-dotnet.cmd if NOT [%ERRORLEVEL%]==[0] ( - exit /b 1 + exit /b %ERRORLEVEL% ) pushd %~dp0 diff --git a/dotnet.sh b/dotnet.sh index 479d6be82c4a..82ca63a5b88a 100755 --- a/dotnet.sh +++ b/dotnet.sh @@ -8,8 +8,8 @@ export DOTNET_MULTILEVEL_LOOKUP=0 # Disable first run since we want to control all package sources export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -echo "Running init-tools.sh" -source $working_tree_root/init-tools.sh +echo "Running init-dotnet.sh" +source $working_tree_root/init-dotnet.sh dotnet=$working_tree_root/.dotnet/dotnet diff --git a/init-dotnet.cmd b/init-dotnet.cmd new file mode 100644 index 000000000000..ad70b4c42af0 --- /dev/null +++ b/init-dotnet.cmd @@ -0,0 +1,13 @@ +@if not defined _echo @echo off +setlocal + +echo Installing dotnet using Arcade... +set PS_DOTNET_INSTALL_SCRIPT=". %~dp0eng\configure-toolset.ps1; . %~dp0eng\common\tools.ps1; InitializeBuildTool" +echo running: powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT% +powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT% +if NOT [%ERRORLEVEL%] == [0] ( + echo Failed to install dotnet using Arcade. + exit /b %ERRORLEVEL% +) + +exit /b 0 \ No newline at end of file diff --git a/init-dotnet.sh b/init-dotnet.sh new file mode 100644 index 000000000000..f7ac32bad74e --- /dev/null +++ b/init-dotnet.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +__scriptpath=$(cd "$(dirname "$0")"; pwd -P) + +echo "Installing dotnet using Arcade..." + +source $__scriptpath/eng/configure-toolset.sh +source $__scriptpath/eng/common/tools.sh + +InitializeBuildTool + +if [ $? != 0 ]; then + echo "Failed to install dotnet using Arcade" + exit $? +fi diff --git a/init-tools.cmd b/init-tools.cmd index 4390b2637aaf..32634ece1208 100644 --- a/init-tools.cmd +++ b/init-tools.cmd @@ -71,11 +71,8 @@ echo "init-tools.cmd: Setting arch to %_Arch% for build tools" :ArchSet -echo Installing dotnet cli... -set PS_DOTNET_INSTALL_SCRIPT=". %~dp0eng\configure-toolset.ps1; . %~dp0eng\common\tools.ps1; InitializeBuildTool" if NOT exist "%DOTNET_CMD%" ( - echo running: powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT% - powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT% + call %~dp0init-dotnet.cmd if NOT exist "%DOTNET_CMD%" ( echo ERROR: Could not install dotnet cli correctly. 1>&2 goto :error diff --git a/init-tools.sh b/init-tools.sh index 6de204a50a70..42bbc0972ff8 100755 --- a/init-tools.sh +++ b/init-tools.sh @@ -131,11 +131,7 @@ esac __PKG_RID=$__PKG_RID-$__PKG_ARCH if [ ! -e "$__DOTNET_CMD" ]; then - source $__scriptpath/eng/configure-toolset.sh - source $__scriptpath/eng/common/tools.sh - - InitializeBuildTool - + source $__scriptpath/init-dotnet.sh if [ ! -e "$__DOTNET_CMD" ]; then echo "ERROR: Ensure arcade dotnet install did not install dotnet at $__DOTNET_CMD" exit 1