diff options
31 files changed, 147 insertions, 224 deletions
diff --git a/Documentation/building/unix-test-instructions.md b/Documentation/building/unix-test-instructions.md index 0bf3ab5894..05f1f994b9 100644 --- a/Documentation/building/unix-test-instructions.md +++ b/Documentation/building/unix-test-instructions.md @@ -24,17 +24,13 @@ Please note that this builds the Priority 0 tests. To build priority 1: During development there are many instances where building an individual test is fast and necessary. All of the necessary tools to build are under `coreclr/Tools`. It is possible to use `coreclr/Tools/MSBuild.dll` as you would normally use MSBuild with a few caveats. -Note that `coreclr/Tools/msbuild.sh` exists as well to make the call shorter. +Note that `coreclr/dotnet.sh` exists as well to make the call shorter. **!! Note !! -- Passing /p:__BuildOs=[OSX|Linux] is required.** ## Building an Individual Test Example ->`coreclr/Tools/msbuild.sh /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX` - -Or - ->`coreclr/Tools/dotnetcli/dotnet coreclr/Tools/MSBuild.dll /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX` +>`coreclr/dotnet.sh msbuild /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX` ## Aarch64/armhf multi-arch diff --git a/Documentation/workflow/RunningTests.md b/Documentation/workflow/RunningTests.md index 5ba8ae20d9..6b0b67a38e 100644 --- a/Documentation/workflow/RunningTests.md +++ b/Documentation/workflow/RunningTests.md @@ -31,12 +31,10 @@ Note: The CoreCLR must be built prior to building an individual test. See first ### Examples -* Using the `msbuild.sh` script - * `coreclr/Tools/msbuild.sh /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX` -* Calling `MSBuild.dll` directly - * `coreclr/Tools/dotnetcli/dotnet coreclr/Tools/MSBuild.dll /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX` +* Using the `dotnet.sh` script + * `coreclr/dotnet.sh msbuild /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX` ## Additional Documents * [Windows](https://github.com/dotnet/coreclr/blob/master/Documentation/building/windows-test-instructions.md) -* [Non-Windows](https://github.com/dotnet/coreclr/blob/master/Documentation/building/unix-test-instructions.md)
\ No newline at end of file +* [Non-Windows](https://github.com/dotnet/coreclr/blob/master/Documentation/building/unix-test-instructions.md) diff --git a/build-packages.cmd b/build-packages.cmd index f823421858..1fa93ebda7 100644 --- a/build-packages.cmd +++ b/build-packages.cmd @@ -33,6 +33,11 @@ if [!processedArgs!]==[] ( :ArgsDone +call "%__ProjectDir%"\setup_vs_tools.cmd + +REM setup_vs_tools.cmd will correctly echo error message. +if NOT '%ERRORLEVEL%' == '0' exit /b 1 + call %__ProjectDir%/dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ /p:__BuildOS=Windows_NT /flp:v=detailed;Append;LogFile=build-packages.log^ /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^ diff --git a/build-test.cmd b/build-test.cmd index f0745845f5..ee2a4c1a41 100644 --- a/build-test.cmd +++ b/build-test.cmd @@ -224,7 +224,7 @@ set __MsbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%" set __MsbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%" set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr! -call "%__ProjectDir%\msbuild.cmd" /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ +call "%__ProjectDir%\cmake_msbuild.cmd" /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ /l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^ /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^ /p:UsePartialNGENOptimization=false /maxcpucount^ diff --git a/build-test.sh b/build-test.sh index 3b3ff61c5c..fe86703f56 100755 --- a/build-test.sh +++ b/build-test.sh @@ -64,7 +64,6 @@ build_test_wrappers() __Logging="$__MsbuildLog $__MsbuildWrn $__MsbuildErr /consoleloggerparameters:$buildVerbosity" nextCommand="\"${__DotNetCli}\" msbuild \"${__ProjectDir}/tests/runtest.proj\" /p:RestoreAdditionalProjectSources=https://dotnet.myget.org/F/dotnet-core/ /p:BuildWrappers=true /p:TargetsWindows=false $__Logging /p:__BuildOS=$__BuildOS /p:__BuildType=$__BuildType /p:__BuildArch=$__BuildArch" - echo "$nextCommand" eval $nextCommand if [ $? -ne 0 ]; then @@ -587,7 +586,7 @@ __SourceDir="$__ProjectDir/src" __PackagesDir="$__ProjectDir/packages" __RootBinDir="$__ProjectDir/bin" __BuildToolsDir="$__ProjectDir/Tools" -__DotNetCli="${__BuildToolsDir}/dotnetcli/dotnet" +__DotNetCli="$__ProjectDir/dotnet.sh" __UnprocessedBuildArgs= __CommonMSBuildArgs= __MSBCleanBuildArgs= @@ -879,9 +878,6 @@ initTargetDistroRid # Override tool directory -__CoreClrVersion=1.1.0 -__sharedFxDir=$__BuildToolsDir/dotnetcli/shared/Microsoft.NETCore.App/$__CoreClrVersion/ - if [[ (-z "$__GenerateLayoutOnly") && (-z "$__GenerateTestHostOnly") && (-z "$__BuildTestWrappersOnly") ]]; then build_Tests elif [ ! -z "$__BuildTestWrappersOnly" ]; then @@ -523,7 +523,7 @@ if %__BuildNative% EQU 1 ( set __MsbuildErr=/flp2:ErrorsOnly;LogFile=!__BuildErr! set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr! - call %__ProjectDir%\msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ + call %__ProjectDir%\cmake_msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ /l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^ /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^ /p:UsePartialNGENOptimization=false /maxcpucount %__IntermediatesDir%\install.vcxproj^ @@ -590,7 +590,7 @@ if %__BuildCrossArchNative% EQU 1 ( set __MsbuildErr=/flp2:ErrorsOnly;LogFile=!__BuildErr! set __Logging=!_MsbuildLog! !__MsbuildWrn! !__MsbuildErr! - call %__ProjectDir%\msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ + call %__ProjectDir%\cmake_msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ /l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^ /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^ /p:UsePartialNGENOptimization=false /maxcpucount^ @@ -849,8 +849,8 @@ if %__BuildPackages% EQU 1 ( set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr! REM The conditions as to what to build are captured in the builds file. - call %__ProjectDir%\msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ - /l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^ + call %__ProjectDir%\dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^ + /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^ /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^ /p:UsePartialNGENOptimization=false /maxcpucount^ %__SourceDir%\.nuget\packages.builds^ @@ -150,7 +150,7 @@ restore_optdata() if [ $__isMSBuildOnNETCoreSupported == 1 ]; then # Parse the optdata package versions out of msbuild so that we can pass them on to CMake - local DotNetCli="$__ProjectRoot/Tools/dotnetcli/dotnet" + local DotNetCli="$__ProjectRoot/.dotnet/dotnet" if [ ! -f $DotNetCli ]; then source "$__ProjectRoot/init-tools.sh" if [ $? != 0 ]; then diff --git a/msbuild.cmd b/cmake_msbuild.cmd index eb99255a45..399b080f75 100644 --- a/msbuild.cmd +++ b/cmake_msbuild.cmd @@ -1,3 +1,7 @@ +:: Windows CMake has a dependency on desktop msbuild.exe because it generates +:: Visual Studio *.vcxproj solutions. +:: This file has cmake in its name to avoid accidentally introducing +:: another dependency on desktop msbuild.exe @if not defined _echo @echo off setlocal @@ -13,12 +17,6 @@ if NOT '%ERRORLEVEL%' == '0' exit /b 1 set Platform= set __ProjectDir= -:: Restore the Tools directory -call %~dp0init-tools.cmd -if NOT [%ERRORLEVEL%]==[0] ( - exit /b 1 -) - pushd %~dp0 echo Running: msbuild.exe %* call msbuild.exe %* @@ -73,7 +73,7 @@ <PackagesBinDir Condition="'$(__PackagesBinDir)'==''">$(BinDir).nuget\</PackagesBinDir> <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools\</ToolsDir> - <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli\</DotnetCliPath> + <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ProjectDir).dotnet\</DotnetCliPath> <OverrideToolHost>$(DotnetCliPath)dotnet</OverrideToolHost> <BuildToolsSemaphore Condition="'$(BuildToolsSemaphore)' == ''">$(ToolsDir)Microsoft.DotNet.Build.Tasks.dll</BuildToolsSemaphore> diff --git a/dotnet.cmd b/dotnet.cmd index 352444a6fc..922100ac3b 100644 --- a/dotnet.cmd +++ b/dotnet.cmd @@ -3,11 +3,6 @@ setlocal set "__ProjectDir=%~dp0" -call "%__ProjectDir%"\setup_vs_tools.cmd - -REM setup_vs_tools.cmd will correctly echo error message. -if NOT '%ERRORLEVEL%' == '0' exit /b 1 - :: Clear the 'Platform' env variable for this session, as it's a per-project setting within the build, and :: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69). set Platform= @@ -21,7 +16,7 @@ if NOT [%ERRORLEVEL%]==[0] ( pushd %~dp0 echo Running: dotnet %* -call "%~dp0\Tools\dotnetcli\dotnet.exe" %* +call "%~dp0\.dotnet\dotnet.exe" %* popd if NOT [%ERRORLEVEL%]==[0] ( exit /b 1 @@ -5,8 +5,7 @@ working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "Running init-tools.sh" source $working_tree_root/init-tools.sh -toolRuntime=$working_tree_root/Tools -dotnet=$toolRuntime/dotnetcli/dotnet +dotnet=$working_tree_root/.dotnet/dotnet echo "Running: $dotnet $@" $dotnet "$@" diff --git a/eng/build-job.yml b/eng/build-job.yml index 8f4fa5d6d8..8e10ce8a9b 100644 --- a/eng/build-job.yml +++ b/eng/build-job.yml @@ -106,11 +106,6 @@ jobs: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: - script: ./build.sh $(buildConfig) $(archType) $(crossArg) -skiptests -skipnuget $(clangArg) $(stripSymbolsArg) $(officialBuildIdArg) displayName: Build product - ${{ if eq(parameters.osGroup, 'FreeBSD') }}: - env: - # init-tools.sh extracts an SDK from here to the Tools/dotnetcli folder instead of trying to restore it. - # Once we are using Arcade, use DotNetCoreSdkDir instead, as we do below. - DotNetBootstrapCliTarPath: /dotnet-sdk-freebsd-x64.tar - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - script: set __TestIntermediateDir=int&&build.cmd $(buildConfig) $(archType) -skiptests -skipbuildpackages $(officialBuildIdArg) $(ibcOptimizeArg) $(enforcePgoArg) displayName: Build product diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index de7523cae5..ae33b37d33 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -321,10 +321,12 @@ function LocateVisualStudio([object]$vsRequirements = $null){ function InitializeBuildTool() { if (Test-Path variable:global:_BuildTool) { + Write-Host "variable:global:_BuildTool initialized." -ForegroundColor Red return $global:_BuildTool } if (-not $msbuildEngine) { + Write-Host "-not $msbuildEngine" -ForegroundColor Red $msbuildEngine = GetDefaultMSBuildEngine } diff --git a/eng/configure-toolset.ps1 b/eng/configure-toolset.ps1 new file mode 100644 index 0000000000..637e9869e2 --- /dev/null +++ b/eng/configure-toolset.ps1 @@ -0,0 +1,5 @@ +# We depend on a local cli for a number of our buildtool +# commands like init-tools so for now we need to disable +# using the globally installed dotnet + +$script:useInstalledDotNetCli = $false diff --git a/eng/configure-toolset.sh b/eng/configure-toolset.sh new file mode 100644 index 0000000000..d342666072 --- /dev/null +++ b/eng/configure-toolset.sh @@ -0,0 +1,5 @@ +# We depend on a local cli for a number of our buildtool +# commands like init-tools so for now we need to disable +# using the globally installed dotnet + +use_installed_dotnet_cli=false diff --git a/eng/update-dependencies.cmd b/eng/update-dependencies.cmd index 8a81f5b8d8..a6ae7e7044 100644 --- a/eng/update-dependencies.cmd +++ b/eng/update-dependencies.cmd @@ -1,17 +1,7 @@ @if not defined _echo @echo off setlocal -:: Clear the 'Platform' env variable for this session, as it's a per-project setting within the build, and -:: misleading value (such as 'MCD' in HP PCs) may lead to build breakage (issue: #69). -set Platform= - -:: Restore the Tools directory -call "%~dp0..\init-tools.cmd" -if NOT [%ERRORLEVEL%]==[0] ( - exit /b 1 -) - -set "DotNetCli=%~dp0..\Tools\dotnetcli\dotnet.exe" +set "DotNetCli=%~dp0..\dotnet.cmd" set "DependenciesBuildProj=%~dp0..\tests\build.proj" echo Running: "%DotNetCli%" msbuild "%DependenciesBuildProj%" %* diff --git a/init-tools.cmd b/init-tools.cmd index e1aaf87487..f7f7ff9395 100644 --- a/init-tools.cmd +++ b/init-tools.cmd @@ -4,7 +4,7 @@ setlocal set INIT_TOOLS_LOG=%~dp0init-tools.log if [%PACKAGES_DIR%]==[] set PACKAGES_DIR=%~dp0packages if [%TOOLRUNTIME_DIR%]==[] set TOOLRUNTIME_DIR=%~dp0Tools -set DOTNET_PATH=%TOOLRUNTIME_DIR%\dotnetcli\ +set DOTNET_PATH=%~dp0.dotnet\ if [%DOTNET_CMD%]==[] set DOTNET_CMD=%DOTNET_PATH%dotnet.exe if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt" @@ -72,15 +72,14 @@ echo "init-tools.cmd: Setting arch to %_Arch% for build tools" :ArchSet echo Installing dotnet cli... -if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%" -set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%_Arch%.zip -set DOTNET_REMOTE_PATH=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME% -set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME% -echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%" -powershell -NoProfile -ExecutionPolicy unrestricted -Command "$retryCount = 0; $success = $false; $proxyCredentialsRequired = $false; do { try { $wc = New-Object Net.WebClient; if ($proxyCredentialsRequired) { [Net.WebRequest]::DefaultWebProxy.Credentials = [Net.CredentialCache]::DefaultNetworkCredentials; } $wc.DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); $success = $true; } catch { if ($retryCount -ge 6) { throw; } else { $we = $_.Exception.InnerException -as [Net.WebException]; $proxyCredentialsRequired = ($we -ne $null -and ([Net.HttpWebResponse]$we.Response).StatusCode -eq [Net.HttpStatusCode]::ProxyAuthenticationRequired); Start-Sleep -Seconds (5 * $retryCount); $retryCount++; } } } while ($success -eq $false); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%" -if NOT exist "%DOTNET_LOCAL_PATH%" ( - echo ERROR: Could not install dotnet cli correctly. 1>&2 - goto :error +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% + if NOT exist "%DOTNET_CMD%" ( + echo ERROR: Could not install dotnet cli correctly. 1>&2 + goto :error + ) ) :afterdotnetrestore diff --git a/init-tools.sh b/init-tools.sh index c13bb98280..cacf9e454d 100755 --- a/init-tools.sh +++ b/init-tools.sh @@ -4,7 +4,7 @@ __scriptpath=$(cd "$(dirname "$0")"; pwd -P) __init_tools_log="$__scriptpath/init-tools.log" __PACKAGES_DIR="$__scriptpath/packages" __TOOLRUNTIME_DIR="$__scriptpath/Tools" -__DOTNET_PATH="$__TOOLRUNTIME_DIR/dotnetcli" +__DOTNET_PATH="$__scriptpath/.dotnet" __DOTNET_CMD="$__DOTNET_PATH/dotnet" if [ -z "${__BUILDTOOLS_SOURCE:-}" ]; then __BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json; fi export __BUILDTOOLS_USE_CSPROJ=true @@ -65,99 +65,81 @@ execute_with_retry() { return 0 } -if [ ! -e "$__DOTNET_PATH" ]; then - if [ -z "${__DOTNET_PKG:-}" ]; then - if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then - echo "Warning: build not supported on 32 bit Unix" - fi - - if [ "$(uname -m)" = "armhf" ] || [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then - if [ "$(uname -m)" = "armhf" ]; then - __PKG_ARCH=arm - fi +if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then + echo "Warning: build not supported on 32 bit Unix" +fi - if [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then - __PKG_ARCH=arm64 - fi - else - __PKG_ARCH=x64 - fi +if [ "$(uname -m)" = "armhf" ] || [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then + if [ "$(uname -m)" = "armhf" ]; then + __PKG_ARCH=arm + fi - OSName=$(uname -s) - case $OSName in - Darwin) - OS=OSX - __PKG_RID=osx - ulimit -n 2048 - # Format x.y.z as single integer with three digits for each part - VERSION=`sw_vers -productVersion| sed -e 's/\./ /g' | xargs printf "%03d%03d%03d"` - if [ "$VERSION" -lt 010012000 ]; then - echo error: macOS version `sw_vers -productVersion` is too old. 10.12 is needed as minimum. - exit 1 - fi - ;; - FreeBSD) - __PKG_RID=freebsd - OS=FreeBSD - ;; - Linux) - __PKG_RID=linux - OS=Linux - - if [ -e /etc/os-release ]; then - source /etc/os-release - if [[ $ID == "alpine" ]]; then - __PKG_RID=linux-musl - fi - elif [ -e /etc/redhat-release ]; then - redhatRelease=$(</etc/redhat-release) - if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then - __PKG_RID=rhel.6 - fi - fi - OSArch=$(uname -m) - if [ $OSArch == 'armv7l' ];then - __PKG_ARCH=arm - elif [ $OSArch == 'aarch64' ]; then - __PKG_ARCH=arm64 - fi - - ;; - - *) - echo "Unsupported OS '$OSName' detected. Downloading linux-$__PKG_ARCH tools." - OS=Linux - __PKG_RID=linux - ;; - esac - __PKG_RID=$__PKG_RID-$__PKG_ARCH - __DOTNET_PKG=dotnet-sdk-${__DOTNET_TOOLS_VERSION}-$__PKG_RID + if [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then + __PKG_ARCH=arm64 fi - mkdir -p "$__DOTNET_PATH" - - echo "Installing dotnet cli..." - __DOTNET_LOCATION="https://dotnetcli.azureedge.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.tar.gz" - - install_dotnet_cli() { - if [[ -z "${DotNetBootstrapCliTarPath-}" ]]; then - echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" - rm -rf -- "$__DOTNET_PATH/*" - # curl has HTTPS CA trust-issues less often than wget, so lets try that first. - if command -v curl > /dev/null; then - curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION} - else - wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION} +else + __PKG_ARCH=x64 +fi + +OSName=$(uname -s) +case $OSName in + Darwin) + OS=OSX + __PKG_RID=osx + ulimit -n 2048 + # Format x.y.z as single integer with three digits for each part + VERSION=`sw_vers -productVersion| sed -e 's/\./ /g' | xargs printf "%03d%03d%03d"` + if [ "$VERSION" -lt 010012000 ]; then + echo error: macOS version `sw_vers -productVersion` is too old. 10.12 is needed as minimum. + exit 1 + fi + ;; + FreeBSD) + __PKG_RID=freebsd + OS=FreeBSD + ;; + Linux) + __PKG_RID=linux + OS=Linux + + if [ -e /etc/os-release ]; then + source /etc/os-release + if [[ $ID == "alpine" ]]; then + __PKG_RID=linux-musl + fi + elif [ -e /etc/redhat-release ]; then + redhatRelease=$(</etc/redhat-release) + if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then + __PKG_RID=rhel.6 fi - else - echo "Copying '$DotNetBootstrapCliTarPath' to '$__DOTNET_PATH/dotnet.tar'" - cp $DotNetBootstrapCliTarPath $__DOTNET_PATH/dotnet.tar fi - cd "$__DOTNET_PATH" - tar -xf "$__DOTNET_PATH/dotnet.tar" - } - execute_with_retry install_dotnet_cli >> "$__init_tools_log" 2>&1 + OSArch=$(uname -m) + if [ $OSArch == 'armv7l' ];then + __PKG_ARCH=arm + elif [ $OSArch == 'aarch64' ]; then + __PKG_ARCH=arm64 + fi + + ;; + + *) + echo "Unsupported OS '$OSName' detected. Downloading linux-$__PKG_ARCH tools." + OS=Linux + __PKG_RID=linux + ;; +esac +__PKG_RID=$__PKG_RID-$__PKG_ARCH - cd "$__scriptpath" +if [ ! -e "$__DOTNET_CMD" ]; then + source $__scriptpath/eng/configure-toolset.sh + source $__scriptpath/eng/common/tools.sh + + InitializeBuildTool + + if [ ! -e "$__DOTNET_CMD" ]; then + echo "ERROR: Ensure arcade dotnet install did not install dotnet at $__DOTNET_CMD" + exit 1 + fi fi if [ ! -e "$__BUILD_TOOLS_PATH" ]; then diff --git a/tests/bringup_runtest.sh b/tests/bringup_runtest.sh index a4631a72c9..cbaa4850e1 100755 --- a/tests/bringup_runtest.sh +++ b/tests/bringup_runtest.sh @@ -449,7 +449,7 @@ function create_testhost # Initialize test variables local buildToolsDir=$coreClrSrc/Tools - local dotnetExe=$buildToolsDir/dotnetcli/dotnet + local dotnetExe=$coreClrSrc/dotnet.sh local coreClrSrcTestDir=$coreClrSrc/tests if [ -z $coreClrBinDir ]; then diff --git a/tests/dir.props b/tests/dir.props index 2e3af382a1..bef7afc53e 100644 --- a/tests/dir.props +++ b/tests/dir.props @@ -44,7 +44,7 @@ <SourceDir>$(ProjectDir)src\</SourceDir> <PackagesDir>$(ProjectDir)..\packages\</PackagesDir> <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)..\Tools\</ToolsDir> - <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli\</DotnetCliPath> + <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ProjectDir)..\.dotnet\</DotnetCliPath> <BuildToolsTaskDir Condition="'$(BuildToolsTargets45)' == 'true'">$(ToolsDir)net46\</BuildToolsTaskDir> <OverrideToolHost Condition="'$(OS)' != 'Windows_NT'">$(DotnetCliPath)dotnet</OverrideToolHost> <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder that exists to skip diff --git a/tests/runtest.cmd b/tests/runtest.cmd index 070507d9fd..bb1dd353d8 100644 --- a/tests/runtest.cmd +++ b/tests/runtest.cmd @@ -7,22 +7,6 @@ set "__MsgPrefix=RUNTEST: " set __ThisScriptDir="%~dp0" -if /I "%PROCESSOR_ARCHITECTURE%"=="arm64" goto :skip_vs_setup -if /I "%PROCESSOR_ARCHITECTURE%"=="arm" goto :skip_vs_setup - -REM If we're running in the x86 WoW layer on Windows arm64, we still don't check for VS. -if /I "%PROCESSOR_ARCHITEW6432%"=="arm64" goto :skip_vs_setup - -call "%__ThisScriptDir%"\..\setup_vs_tools.cmd -if NOT '%ERRORLEVEL%' == '0' exit /b 1 - -if defined VS160COMNTOOLS ( - set __VSVersion=vs2019 -) else if defined VS150COMNTOOLS ( - set __VSVersion=vs2017 -) -:skip_vs_setup - :: Set the default arguments set __BuildArch=x64 set __BuildType=Debug @@ -36,7 +20,7 @@ set "__RootBinDir=%__ProjectDir%\..\bin" set "__LogsDir=%__RootBinDir%\Logs" set "__MsbuildDebugLogsDir=%__LogsDir%\MsbuildDebugLogs" set __ToolsDir=%__ProjectDir%\..\Tools -set "DotNetCli=%__ToolsDir%\dotnetcli\dotnet.exe" +set "DotNetCli=%__ProjectDir%\..\dotnet.cmd" set __Sequential= set __msbuildExtraArgs= @@ -235,26 +219,6 @@ exit /b %ERRORLEVEL% :SetupMSBuildAndCallRuntestProj -:: Set up msbuild and tools environment. Check if msbuild and VS exist. - -if /i "%__VSVersion%" == "vs2019" ( - set "__VSToolsRoot=%VS160COMNTOOLS%" - set "__VCToolsRoot=%VS160COMNTOOLS%\..\..\VC\Auxiliary\Build" -) else if /i "%__VSVersion%" == "vs2017" ( - set "__VSToolsRoot=%VS150COMNTOOLS%" - set "__VCToolsRoot=%VS150COMNTOOLS%\..\..\VC\Auxiliary\Build" -) - -:: Does VS really exist? -if not exist "%__VSToolsRoot%\..\IDE\devenv.exe" goto NoVS -if not exist "%__VCToolsRoot%\vcvarsall.bat" goto NoVS -if not exist "%__VSToolsRoot%\VsDevCmd.bat" goto NoVS - -if not defined VSINSTALLDIR ( - echo %__MsgPrefix%Error: runtest.cmd should be run from a Visual Studio Command Prompt. Please see https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md for build instructions. - exit /b 1 -) - :: Note: We've disabled node reuse because it causes file locking issues. :: The issue is that we extend the build with our own targets which :: means that that rebuilding cannot successfully delete the task @@ -720,8 +684,3 @@ echo %0 x86 checked echo %0 x64 checked GenerateLayoutOnly echo %0 x64 release exit /b 1 - -:NoVS -echo Visual Studio 2017 or 2019 ^(Community is free^) is a prerequisite to build this repository. -echo See: https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md#prerequisites -exit /b 1 diff --git a/tests/runtest.proj b/tests/runtest.proj index 936825abdb..1adcfc4f12 100644 --- a/tests/runtest.proj +++ b/tests/runtest.proj @@ -370,7 +370,7 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\",""). <ExceptionForDepsJson Include="microsoft.netcore.app" /> <!-- TODO: We should see about generating this from scratch instead of relying on a previous deps file as a template --> - <_sharedFrameworkDepsJson Include="$(ToolsDir)dotnetcli\shared\Microsoft.NETCore.App\*\Microsoft.NETCore.App.deps.json" /> + <_sharedFrameworkDepsJson Include="$(DotnetCliPath)\shared\Microsoft.NETCore.App\*\Microsoft.NETCore.App.deps.json" /> </ItemGroup> <PropertyGroup> @@ -415,9 +415,9 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\",""). <ItemGroup> <CoreCLRBinaries Include="$(CORE_ROOT)\**\*.*" Exclude="$(CORE_ROOT)\**\@(CoreCLRBinariesToExclude -> '%(Identity)' )" /> - <HostFxFile Include="$(ToolsDir)\dotnetcli\**\$(HostFxrFileName).$(HostFxrFileExtension)" /> - <DotnetExe Include="$(ToolsDir)\dotnetcli\$(DotnetExecutableName)" /> - <HostPolicyFile Include="$(ToolsDir)\dotnetcli\**\$(HostPolicyFileName).$(HostPolicyExtension)" /> + <HostFxFile Include="$(DotnetCliPath)\**\$(HostFxrFileName).$(HostFxrFileExtension)" /> + <DotnetExe Include="$(DotnetCliPath)\$(DotnetExecutableName)" /> + <HostPolicyFile Include="$(DotnetCliPath)\**\$(HostPolicyFileName).$(HostPolicyExtension)" /> </ItemGroup> <Copy SourceFiles="@(HostFxFile)" diff --git a/tests/runtest.py b/tests/runtest.py index f24823841c..335c5c6799 100755 --- a/tests/runtest.py +++ b/tests/runtest.py @@ -1028,7 +1028,7 @@ def run_tests(host_os, """ # Setup the dotnetcli location - dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + dotnetcli_location = os.path.join(coreclr_repo_location, "dotnet%s" % (".cmd" if host_os == "Windows_NT" else ".sh")) # Set default per-test timeout to 15 minutes (in milliseconds). per_test_timeout = 15*60*1000 @@ -1388,7 +1388,7 @@ def setup_tools(host_os, coreclr_repo_location): is_windows = host_os == "Windows_NT" - dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + dotnetcli_location = os.path.join(coreclr_repo_location, "dotnet%s" % (".cmd" if host_os == "Windows_NT" else ".sh")) if os.path.isfile(dotnetcli_location): setup = True @@ -1593,7 +1593,7 @@ def setup_core_root(host_os, os.makedirs(core_root) # Setup the dotnetcli location - dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + dotnetcli_location = os.path.join(coreclr_repo_location, "dotnet%s" % (".cmd" if host_os == "Windows_NT" else ".sh")) # Set global env variables. os.environ["__BuildLogRootName"] = "Restore_Product" @@ -1874,7 +1874,7 @@ def build_test_wrappers(host_os, delete_existing_wrappers(to_unicode(test_location)) # Setup the dotnetcli location - dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + dotnetcli_location = os.path.join(coreclr_repo_location, "dotnet%s" % (".cmd" if host_os == "Windows_NT" else ".sh")) # Set global env variables. os.environ["__BuildLogRootName"] = "Tests_XunitWrapper" diff --git a/tests/runtest.sh b/tests/runtest.sh index 044778e8da..2cb5fbc4b6 100755 --- a/tests/runtest.sh +++ b/tests/runtest.sh @@ -60,8 +60,7 @@ function create_testhost fi # Initialize test variables - local buildToolsDir=$coreClrSrc/Tools - local dotnetExe=$buildToolsDir/dotnetcli/dotnet + local dotnetExe=$coreClrSrc/dotnet.sh local coreClrSrcTestDir=$coreClrSrc/tests if [ -z $coreClrBinDir ]; then diff --git a/tests/scripts/build_illink.cmd b/tests/scripts/build_illink.cmd index 726bd44c10..ce9f285422 100644 --- a/tests/scripts/build_illink.cmd +++ b/tests/scripts/build_illink.cmd @@ -22,7 +22,7 @@ if defined doCLone ( pushd linker\corebuild call restore.cmd -r %rid% cd ..\linker -..\corebuild\Tools\dotnetcli\dotnet.exe publish -r %rid% -c netcore_Release +..\corebuild\dotnet.cmd publish -r %rid% -c netcore_Release popd echo Built %cd%\linker\linker\bin\netcore_Release\netcoreapp2.0\%rid%\publish\illink.exe diff --git a/tests/scripts/build_illink.sh b/tests/scripts/build_illink.sh index 73bbd1a9fd..23c1382f59 100755 --- a/tests/scripts/build_illink.sh +++ b/tests/scripts/build_illink.sh @@ -55,7 +55,7 @@ fi pushd linker/corebuild ./restore.sh -r $rid cd ../linker -../corebuild/Tools/dotnetcli/dotnet publish -r $rid -c netcore_Release +../corebuild/dotnet.sh publish -r $rid -c netcore_Release popd dir=$(pwd) diff --git a/tests/scripts/run-xunit-perf.py b/tests/scripts/run-xunit-perf.py index 7033b53065..b808deb77c 100755 --- a/tests/scripts/run-xunit-perf.py +++ b/tests/scripts/run-xunit-perf.py @@ -380,7 +380,7 @@ def build_perfharness(coreclrRepo, sandboxDir, extension, dotnetEnv): dotnetEnv (str{}): environment for dotnet """ # Confirm dotnet works - dotnet = os.path.join(coreclrRepo, 'Tools', 'dotnetcli', 'dotnet' + extension) + dotnet = os.path.join(coreclrRepo, '.dotnet', 'dotnet' + extension) runArgs = [dotnet, '--info' ] diff --git a/tests/setup-stress-dependencies.cmd b/tests/setup-stress-dependencies.cmd index 5c7977084b..78f81e9b15 100644 --- a/tests/setup-stress-dependencies.cmd +++ b/tests/setup-stress-dependencies.cmd @@ -48,7 +48,7 @@ REM === REM ========================================================================================= set __DotNetToolDir=%__ThisScriptPath%..\Tools -set __DotNetCmd=%__DotNetToolDir%\dotnetcli\dotnet.exe +set __DotNetCmd=%__ThisScriptPath%..\dotnet.cmd set __PackageDir=%__ThisScriptPath%..\Packages set __CsprojPath=%__ThisScriptPath%\src\Common\stress_dependencies\stress_dependencies.csproj diff --git a/tests/setup-stress-dependencies.sh b/tests/setup-stress-dependencies.sh index e4ed04050a..e660dfd066 100755 --- a/tests/setup-stress-dependencies.sh +++ b/tests/setup-stress-dependencies.sh @@ -79,7 +79,7 @@ echo "Running init-tools.sh" $scriptDir/../init-tools.sh dotnetToolsDir=$scriptDir/../Tools -dotnetCmd=${dotnetToolsDir}/dotnetcli/dotnet +dotnetCmd=$scriptDir/dotnet.sh packageDir=${scriptDir}/../packages csprojPath=${scriptDir}/src/Common/stress_dependencies/stress_dependencies.csproj diff --git a/tests/src/readytorun/r2rdump/R2RDumpTest.csproj b/tests/src/readytorun/r2rdump/R2RDumpTest.csproj index 410620a6eb..9732d51e1f 100644 --- a/tests/src/readytorun/r2rdump/R2RDumpTest.csproj +++ b/tests/src/readytorun/r2rdump/R2RDumpTest.csproj @@ -11,10 +11,10 @@ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> <CoreClrDir>..\..\..\..\..\..\</CoreClrDir> <R2RDumpCommand>$(CoreClrDir)bin\Product\$(BuildOS).$(BuildArch).$(BuildType)\netcoreapp2.0\R2RDump.dll</R2RDumpCommand> - <DotnetToolCommand>$(CoreClrDir)Tools\dotnetcli\dotnet</DotnetToolCommand> + <DotnetToolCommand>$(CoreClrDir).dotnet\dotnet</DotnetToolCommand> <BashCoreClrDir>../../../../../../</BashCoreClrDir> <BashR2RDumpCommand>$(BashCoreClrDir)bin/Product/$(BuildOS).$(BuildArch).$(BuildType)/netcoreapp2.0/R2RDump.dll</BashR2RDumpCommand> - <BashDotnetToolCommand>$(BashCoreClrDir)Tools/dotnetcli/dotnet</BashDotnetToolCommand> + <BashDotnetToolCommand>$(CoreClrDir).dotnet/dotnet</BashDotnetToolCommand> <CLRTestExecutionArguments>$(CoreClrDir)tests\src\readytorun\r2rdump\files\$(BuildOS).$(BuildArch).$(BuildType)\</CLRTestExecutionArguments> <!-- Test unsupported outside of windows --> diff --git a/tests/src/readytorun/r2rdump/rebaseline.cmd b/tests/src/readytorun/r2rdump/rebaseline.cmd index 3c0c1236a0..481721170f 100644 --- a/tests/src/readytorun/r2rdump/rebaseline.cmd +++ b/tests/src/readytorun/r2rdump/rebaseline.cmd @@ -1,35 +1,35 @@ set CurrentDir=%~dp0 set ProjectDir=%CurrentDir%..\..\..\..\ -"%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Checked %ProjectDir%src\tools\r2rdump\R2RDump.csproj -"%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Debug %ProjectDir%src\tools\r2rdump\R2RDump.csproj -"%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Release %ProjectDir%src\tools\r2rdump\R2RDump.csproj -"%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Debug %ProjectDir%src\tools\r2rdump\R2RDump.csproj +"%ProjectDir%dotnet.cmd" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Checked %ProjectDir%src\tools\r2rdump\R2RDump.csproj +"%ProjectDir%dotnet.cmd" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Debug %ProjectDir%src\tools\r2rdump\R2RDump.csproj +"%ProjectDir%dotnet.cmd" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Release %ProjectDir%src\tools\r2rdump\R2RDump.csproj +"%ProjectDir%dotnet.cmd" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Debug %ProjectDir%src\tools\r2rdump\R2RDump.csproj set tests=HelloWorld GcInfoTransitions GenericFunctions MultipleRuntimeFunctions (for %%a in (%tests%) do ( - "%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Checked "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" + "%ProjectDir%dotnet.cmd" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Checked "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" %ProjectDir%bin\tests\Windows_NT.x64.Checked\Tests\Core_Root\crossgen /readytorun /platform_assemblies_paths %ProjectDir%bin\tests\Windows_NT.x64.Checked\Tests\Core_Root /out %%a.ni.dll %ProjectDir%bin\tests\Windows_NT.x64.Checked\readytorun\r2rdump\files\%%a\%%a.dll - "%ProjectDir%Tools\dotnetcli\dotnet.exe" %ProjectDir%bin\Product\Windows_NT.x64.Checked\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x64.Checked\%%a.xml -x -v --ignoreSensitive + "%ProjectDir%dotnet.cmd" %ProjectDir%bin\Product\Windows_NT.x64.Checked\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x64.Checked\%%a.xml -x -v --ignoreSensitive )) (for %%a in (%tests%) do ( - "%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Debug "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" + "%ProjectDir%dotnet.cmd" build /p:__BuildArch=x64 /p:__BuildOS=Windows_NT /p:__BuildType=Debug "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" %ProjectDir%bin\tests\Windows_NT.x64.Debug\Tests\Core_Root\crossgen /readytorun /platform_assemblies_paths %ProjectDir%bin\tests\Windows_NT.x64.Debug\Tests\Core_Root /out %%a.ni.dll %ProjectDir%bin\tests\Windows_NT.x64.Debug\readytorun\r2rdump\files\%%a\%%a.dll - "%ProjectDir%Tools\dotnetcli\dotnet.exe" %ProjectDir%bin\Product\Windows_NT.x64.Debug\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x64.Debug\%%a.xml -x -v --ignoreSensitive + "%ProjectDir%dotnet.cmd" %ProjectDir%bin\Product\Windows_NT.x64.Debug\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x64.Debug\%%a.xml -x -v --ignoreSensitive )) (for %%a in (%tests%) do ( - "%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Release "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" + "%ProjectDir%dotnet.cmd" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Release "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" %ProjectDir%bin\tests\Windows_NT.x86.Release\Tests\Core_Root\crossgen /readytorun /platform_assemblies_paths %ProjectDir%bin\tests\Windows_NT.x86.Release\Tests\Core_Root /out %%a.ni.dll %ProjectDir%bin\tests\Windows_NT.x86.Release\readytorun\r2rdump\files\%%a\%%a.dll - "%ProjectDir%Tools\dotnetcli\dotnet.exe" %ProjectDir%bin\Product\Windows_NT.x86.Release\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x86.Release\%%a.xml -x -v --ignoreSensitive + "%ProjectDir%dotnet.cmd" %ProjectDir%bin\Product\Windows_NT.x86.Release\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x86.Release\%%a.xml -x -v --ignoreSensitive )) (for %%a in (%tests%) do ( - "%ProjectDir%Tools\dotnetcli\dotnet.exe" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Debug "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" + "%ProjectDir%dotnet.cmd" build /p:__BuildArch=x86 /p:__BuildOS=Windows_NT /p:__BuildType=Debug "%ProjectDir%tests\src\readytorun\r2rdump\files\%%a.csproj" %ProjectDir%bin\tests\Windows_NT.x86.Debug\Tests\Core_Root\crossgen /readytorun /platform_assemblies_paths %ProjectDir%bin\tests\Windows_NT.x86.Debug\Tests\Core_Root /out %%a.ni.dll %ProjectDir%bin\tests\Windows_NT.x86.Debug\readytorun\r2rdump\files\%%a\%%a.dll - "%ProjectDir%Tools\dotnetcli\dotnet.exe" %ProjectDir%bin\Product\Windows_NT.x86.Debug\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x86.Debug\%%a.xml -x -v --ignoreSensitive + "%ProjectDir%dotnet.cmd" %ProjectDir%bin\Product\Windows_NT.x86.Debug\netcoreapp2.0\R2RDump.dll --in %%a.ni.dll --out %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x86.Debug\%%a.xml -x -v --ignoreSensitive )) COPY /Y %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x64.Checked\*.xml %ProjectDir%tests\src\readytorun\r2rdump\files\Windows_NT.x64.Release\ |