R2RDump and GCStress use a version of coredistools produced from https://github.com/dotnet/jitutils
<RefOnlyNugetProjectModelVersion>4.9.4</RefOnlyNugetProjectModelVersion>
<RefOnlyNugetPackagingVersion>4.9.4</RefOnlyNugetPackagingVersion>
<!-- Testing -->
+ <MicrosoftNETCoreCoreDisToolsVersion>1.0.1-prerelease-00006</MicrosoftNETCoreCoreDisToolsVersion>
<MicrosoftNETTestSdkVersion>16.8.0-release-20201022-02</MicrosoftNETTestSdkVersion>
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>1.0.0-prerelease.20559.2</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
<MicrosoftDotNetXHarnessCLIVersion>1.0.0-prerelease.20559.2</MicrosoftDotNetXHarnessCLIVersion>
--- /dev/null
+<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
+<Project>
+ <ItemGroup>
+ <PackageReference Include="Microsoft.NETCore.CoreDisTools" Version="$(MicrosoftNETCoreCoreDisToolsVersion)">
+ <ExcludeAssets>native</ExcludeAssets>
+ <GeneratePathProperty>true</GeneratePathProperty>
+ </PackageReference>
+ </ItemGroup>
+
+ <PropertyGroup>
+ <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'Windows'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\win-$(TargetArchitecture)\native\coredistools.dll</CoreDisToolsLibrary>
+ <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'Linux'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\linux-$(TargetArchitecture)\native\libcoredistools.so</CoreDisToolsLibrary>
+ <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'OSX'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\osx-$(TargetArchitecture)\native\libcoredistools.dylib</CoreDisToolsLibrary>
+ </PropertyGroup>
+</Project>
steps:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) /p:LibrariesConfiguration=${{ parameters.buildConfig }} -ci -skipstressdependencies -excludemonofailures os Android x64 $(buildConfigUpper)
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) /p:LibrariesConfiguration=${{ parameters.buildConfig }} -ci -excludemonofailures os Android x64 $(buildConfigUpper)
displayName: Build Tests
# Send tests to Helix
displayName: Disk Usage before Build
# Build managed test components
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) allTargets skipstressdependencies skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg)
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg)
displayName: Build managed test components
- ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts.
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) skipstressdependencies copynativeonly $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg)
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg)
displayName: Copy native test components to test output folder
steps:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) /p:LibrariesConfiguration=${{ parameters.buildConfig }} -ci -skipstressdependencies -excludemonofailures os Browser wasm $(buildConfigUpper)
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) /p:LibrariesConfiguration=${{ parameters.buildConfig }} -ci -excludemonofailures os Browser wasm $(buildConfigUpper)
displayName: Build Tests
# Send tests to Helix
# Build native test components
- ${{ if ne(parameters.isOfficialBuild, true) }}:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) skipstressdependencies skipmanaged skipgeneratelayout $(buildConfig) $(archType) $(crossArg) $(osArg) $(priorityArg) $(compilerArg)
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) skipmanaged skipgeneratelayout $(buildConfig) $(archType) $(crossArg) $(osArg) $(priorityArg) $(compilerArg)
displayName: Build native test components
# Sign and add entitlements to these MacOS binaries
steps:
# Build coreclr native test output
- ${{ if eq(parameters.uploadRuntimeTests, true) }}:
- - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) skipstressdependencies skipmanaged skipgeneratelayout $(buildConfigUpper) ${{ parameters.archType }}
+ - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) skipmanaged skipgeneratelayout $(buildConfigUpper) ${{ parameters.archType }}
displayName: Build native test components
# Copy all build output into artifacts staging directory
<OutputPath>$(RuntimeBinDir)/R2RDump</OutputPath>
</PropertyGroup>
+ <Import Project="$(RepositoryEngineeringDir)coredistools.targets" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Import Project="$(RepositoryEngineeringDir)DiaSymReaderNative.targets" />
<ItemGroup>
- <PackageReference Include="Microsoft.NETCore.CoreDisTools">
- <Version>1.0.1-prerelease-00005</Version>
- </PackageReference>
<PackageReference Include="System.CommandLine">
<Version>$(SystemCommandLineVersion)</Version>
</PackageReference>
<ProjectReference Include="..\aot\ILCompiler.Reflection.ReadyToRun\ILCompiler.Reflection.ReadyToRun.csproj" />
+ <Content Include="$(CoreDisToolsLibrary)" Condition="Exists('$(CoreDisToolsLibrary)')">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
</ItemGroup>
</Project>
<Import Project="$(RepoRoot)eng/liveBuilds.targets" />
+ <PropertyGroup>
+ <GCStressDependsOnCoreDisTools>false</GCStressDependsOnCoreDisTools>
+ <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'Windows' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'x86')">true</GCStressDependsOnCoreDisTools>
+ <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'Linux' And '$(TargetArchitecture)' == 'x64'">true</GCStressDependsOnCoreDisTools>
+ <CopyCoreDisToolsToCoreRoot>false</CopyCoreDisToolsToCoreRoot>
+ <CopyCoreDisToolsToCoreRoot Condition="$(GCStressDependsOnCoreDisTools) And '$(DotNetBuildFromSource)' != 'true'">true</CopyCoreDisToolsToCoreRoot>
+ </PropertyGroup>
+
+ <Import Project="$(RepositoryEngineeringDir)coredistools.targets" Condition="$(CopyCoreDisToolsToCoreRoot)" />
+
<ItemGroup>
<KnownFrameworkReference Remove="Microsoft.AspNetCore.App" />
<KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App" />
TargetDir="runtime-test/"/>
</ItemGroup>
+ <ItemGroup>
+ <RunTimeDependencyCopyLocal Include="$(CoreDisToolsLibrary)" Condition="$(CopyCoreDisToolsToCoreRoot)" />
+ </ItemGroup>
+
<Copy
SourceFiles="@(RunTimeDependencyCopyLocal)"
DestinationFiles="@(RunTimeDependencyCopyLocal -> '$(CORE_ROOT)/%(TargetDir)%(RecursiveDir)%(Filename)%(Extension)')"
+++ /dev/null
-@if not defined _echo @echo off
-setlocal
-
-set __ThisScriptShort=%0
-set __ThisScriptFull=%~f0
-set __ThisScriptPath=%~dp0
-set __RepoRootDir=%~dp0\..\..\..\
-
-REM =========================================================================================
-REM ===
-REM === Parse arguments
-REM ===
-REM =========================================================================================
-
-set __OutputDir=
-set __Arch=
-
-:Arg_Loop
-if "%1" == "" goto ArgsDone
-
-if /i "%1" == "/?" goto Usage
-if /i "%1" == "-?" goto Usage
-if /i "%1" == "/h" goto Usage
-if /i "%1" == "-h" goto Usage
-if /i "%1" == "/help" goto Usage
-if /i "%1" == "-help" goto Usage
-
-if /i "%1" == "/arch" (set __Arch=%2&shift&shift&goto Arg_Loop)
-if /i "%1" == "/outputdir" (set __OutputDir=%2&shift&shift&goto Arg_Loop)
-
-echo Invalid command-line argument: %1
-goto Usage
-
-:ArgsDone
-
-if not defined __OutputDir goto Usage
-if not defined __Arch goto Usage
-
-REM Check if the platform is supported
-if /i "%__Arch%" == "arm" (
- echo No runtime dependencies for Arm32.
- exit /b 0
-)
-
-if /i "%__Arch%" == "arm64" (
- echo No runtime dependencies for Arm64.
- exit /b 0
-)
-
-REM =========================================================================================
-REM ===
-REM === Check if dotnet CLI and necessary directories exist
-REM ===
-REM =========================================================================================
-
-set __DotNetCmd=%__RepoRootDir%dotnet.cmd
-set __CsprojPath=%__ThisScriptPath%\stress_dependencies\stress_dependencies.csproj
-
-REM Create directories needed
-if not exist "%__OutputDir%" md "%__OutputDir%"
-
-REM =========================================================================================
-REM ===
-REM === Download packages
-REM ===
-REM =========================================================================================
-
-REM Download the package
-echo Downloading CoreDisTools package
-set CoreDisToolsPackagePathOutputFile="%__RepoRootDir%artifacts\obj\coreclr\windows.%__Arch%\coredistoolspath.txt"
-set CommonMSBuildOptions=/p:TargetArchitecture=%__Arch% /p:Configuration=%__BuildType% /p:RuntimeIdentifier="win-%__Arch%" /p:PackageRuntimeIdentifier="win-%__Arch%"
-
-set DOTNETCMD="%__DotNetCmd%" restore "%__CsprojPath%" %CommonMSBuildOptions%
-echo %DOTNETCMD%
-call %DOTNETCMD%
-if errorlevel 1 goto Fail
-set DOTNETCMD="%__DotNetCmd%" msbuild "%__CsprojPath%" /t:DumpCoreDisToolsPackagePath /p:CoreDisToolsPackagePathOutputFile="%CoreDisToolsPackagePathOutputFile%" %CommonMSBuildOptions%
-call %DOTNETCMD%
-if errorlevel 1 goto Fail
-
-if not exist "%CoreDisToolsPackagePathOutputFile%" (
- echo %__ErrMsgPrefix%Failed to get CoreDisTools package path.
- exit /b 1
-)
-
-
-set /p __PkgDir=<"%CoreDisToolsPackagePathOutputFile%"
-
-REM Get downloaded dll path
-echo Locating coredistools.dll
-FOR /F "delims=" %%i IN ('dir "%__PkgDir%\coredistools.dll" /b/s ^| findstr /R "win-%__Arch%"') DO set __LibPath=%%i
-echo CoreDisTools library path: %__LibPath%
-if not exist "%__LibPath%" (
- echo Failed to locate the downloaded library: %__LibPath%
- goto Fail
-)
-
-REM Copy library to output directory
-echo Copy library: %__LibPath% to %__OutputDir%
-copy /y "%__LibPath%" "%__OutputDir%"
-if errorlevel 1 (
- echo Failed to copy %__LibPath% to %__OutputDir%
- goto Fail
-)
-
-exit /b 0
-
-:Fail
-exit /b 1
-
-REM =========================================================================================
-REM ===
-REM === Helper routines
-REM ===
-REM =========================================================================================
-
-:Usage
-echo.
-echo Download coredistools for GC stress testing
-echo.
-echo Usage:
-echo %__ThisScriptShort% /arch ^<TargetArch^> /outputdir ^<coredistools_lib_install_path^>
-echo.
-exit /b 1
+++ /dev/null
-#!/usr/bin/env bash
-# set -x
-
-#
-# Constants
-#
-readonly EXIT_CODE_SUCCESS=0
-
-#
-# This script should be located in coreclr/tests.
-#
-
-function print_usage {
- echo ''
- echo 'Download coredistools for GC stress testing'
- echo ''
- echo 'Command line:'
- echo ''
- echo './setup-stress-dependencies.sh --arch=<TargetArch> --outputDir=<coredistools_lib_install_path>'
- echo ''
- echo 'Required arguments:'
- echo ' --arch=<TargetArch> : Target arch for the build'
- echo ' --outputDir=<path> : Directory to install libcoredistools.so'
- echo ''
-}
-
-function exit_with_error {
- local errorCode=$1
- local errorMsg=$2
-
- if [ ! -z "$2" ]; then
- echo $2
- fi
-
- exit $errorCode
-}
-
-function handle_ctrl_c {
- exit_with_error 1 'Aborted by Ctrl+C'
- }
-
-# Register the Ctrl-C handler
-trap handle_ctrl_c INT
-
-# Argument variables
-libInstallDir=
-
-# Handle arguments
-verbose=0
-for i in "$@"
-do
- case $i in
- -h|--help)
- exit $EXIT_CODE_SUCCESS
- ;;
- -v|--verbose)
- verbose=1
- ;;
- --arch=*)
- __BuildArch=${i#*=}
- ;;
- --outputDir=*)
- libInstallDir=${i#*=}
- ;;
- *)
- echo "Unknown switch: $i"
- print_usage
- exit $EXIT_CODE_SUCCESS
- ;;
- esac
-done
-
-if [ -z "$__BuildArch" ]; then
- echo "--arch is required."
- print_usage
- exit_with_error 1
-fi
-
-if [ -z "$libInstallDir" ]; then
- echo "--outputDir is required."
- print_usage
- exit_with_error 1
-fi
-
-if [ "$__BuildArch" = "arm64" ] || [ "$__BuildArch" = "arm" ]; then
- echo "No runtime dependencies for arm32/arm64"
- exit $EXIT_CODE_SUCCESS
-fi
-
-# This script must be located in coreclr/tests.
-scriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-dotnet=$"${scriptDir}"/../../../dotnet.sh
-csprojPath="${scriptDir}"/stress_dependencies/stress_dependencies.csproj
-
-if [ ! -e $dotnetCmd ]; then
- exit_with_error 1 'dotnet commandline does not exist:'$dotnetCmd
-fi
-
-# make output directory
-if [ ! -e $libInstallDir ]; then
- mkdir -p $libInstallDir
-fi
-
-# Use uname to determine what the OS is.
-OSName=$(uname -s)
-case "$OSName" in
- Linux)
- __TargetOS=Linux
- __HostOS=Linux
- ;;
-
- Darwin)
- __TargetOS=OSX
- __HostOS=OSX
- ;;
-
- FreeBSD)
- __TargetOS=FreeBSD
- __HostOS=FreeBSD
- ;;
-
- OpenBSD)
- __TargetOS=OpenBSD
- __HostOS=OpenBSD
- ;;
-
- NetBSD)
- __TargetOS=NetBSD
- __HostOS=NetBSD
- ;;
-
- SunOS)
- if uname -o 2>&1 | grep -q illumos; then
- __TargetOS=illumos
- __HostOS=illumos
- else
- __TargetOS=Solaris
- __HostOS=Solaris
- fi
- ;;
-
- *)
- echo "Unsupported OS $OSName detected, configuring as if for Linux"
- __TargetOS=Linux
- __HostOS=Linux
- ;;
-esac
-
-isPortable=0
-
-source "${scriptDir}"/../../../eng/native/init-distro-rid.sh
-initDistroRidGlobal "$__TargetOS" x64 "$isPortable"
-
-# Hack, replace the rid to ubuntu.14.04 which has a valid non-portable
-# package.
-#
-# The CoreDisTools package is currently manually packaged and we only have
-# 14.04 and 16.04 packages. Use the oldest package which will work on newer
-# platforms.
-if [ "$__TargetOS" = "Linux" ]; then
- if [ "$__BuildArch" = "x64" ]; then
- __DistroRid=ubuntu.14.04-x64
- elif [ "$__BuildArch" = "x86" ]; then
- __DistroRid=ubuntu.14.04-x86
- fi
-fi
-
-# Query runtime Id
-rid="$__DistroRid"
-
-echo "Rid to be used: ${rid}"
-
-if [ -z "$rid" ]; then
- exit_with_error 1 "Failed to query runtime Id"
-fi
-
-# Download the package
-echo Downloading CoreDisTools package
-bash -c -x "$dotnet restore $csprojPath"
-if [ $? -ne 0 ]
-then
- exit_with_error 1 "Failed to restore the package"
-fi
-
-CoreDisToolsPackagePathOutputFile="${scriptDir}/../../../artifacts/obj/coreclr/${__TargetOS}.x64/optdatapath.txt"
-
-bash -c -x "$dotnet msbuild $csprojPath /t:DumpCoreDisToolsPackagePath /p:CoreDisToolsPackagePathOutputFile=\"$CoreDisToolsPackagePathOutputFile\" /p:RuntimeIdentifier=\"$rid\""
-if [ $? -ne 0 ]
-then
- exit_with_error 1 "Failed to find the path to CoreDisTools."
-fi
-
-packageDir=$(<"${CoreDisToolsPackagePathOutputFile}")
-
-# Get library path
-libPath="$(find "$packageDir" -path "*$rid*libcoredistools*" -print | head -n 1)"
-echo "libPath to be used: ${libPath}"
-
-if [ ! -e $libPath ] || [ -z "$libPath" ]; then
- exit_with_error 1 'Failed to locate the downloaded library'
-fi
-
-# Copy library to output directory
-echo 'Copy library:' $libPath '-->' $libInstallDir/
-cp -f $libPath $libInstallDir
-if [ $? -ne 0 ]
-then
- exit_with_error 1 "Failed to copy the library"
-fi
-
-# Return success
-exit $EXIT_CODE_SUCCESS
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk" >
- <PropertyGroup>
- <CLRTestKind>BuildOnly</CLRTestKind>
- <TargetFramework>netcoreapp2.0</TargetFramework>
- <IsTestProject>false</IsTestProject>
- <RuntimeIdentifiers>win-x64;ubuntu.14.04-x64;osx.10.10-x64;win-x86;ubuntu.14.04-x86;osx.10.10-x86</RuntimeIdentifiers>
- <MicrosoftNETCoreCoreDisToolsPackageName>Microsoft.NETCore.CoreDisTools</MicrosoftNETCoreCoreDisToolsPackageName>
- </PropertyGroup>
- <ItemGroup>
- <PackageReference Include="$(MicrosoftNETCoreCoreDisToolsPackageName)" GeneratePathProperty="True">
- <Version>1.0.1-prerelease-00005</Version>
- </PackageReference>
- </ItemGroup>
-
- <!-- -->
- <!-- Target: DumpCoreDisToolsPackagePath -->
- <!-- -->
- <!-- Notes: -->
- <!-- -->
- <!-- DumpCoreDisToolsPackagePath is used by setup-stress-dependencies.cmd -->
- <!-- and setup-stress-dependencies.sh to get the path to coredistools.dll -->
- <!-- for stress testing. The task will write a file to be read back by -->
- <!-- setup-stress-dependencies.cmd/sh. The path for the file is: -->
- <!-- $(CoreDisToolsPackagePathOutputFile) -->
- <!-- -->
- <Target Name="DumpCoreDisToolsPackagePath">
- <!-- Error if PgoDataPackagePathOutputFile is not set. -->
- <Error Condition="'$(CoreDisToolsPackagePathOutputFile)'==''" Text="CoreDisToolsPackagePathOutputFile must be passed as a property." />
- <Error Condition="'$(PkgMicrosoft_NETCore_CoreDisTools)' == ''" Text="CoreDisTools package path not found!" />
- <Error Condition="'$(RuntimeIdentifier)' == ''" Text="Unable to locate correct CoreDisTools without a runtime identifier. Please pass in the runtime identifier via the RuntimeIdentifier property." />
-
- <PropertyGroup>
- <CoreDisToolsPackageVersion>$([System.IO.Path]::GetFileName('$(PkgMicrosoft_NETCore_CoreDisTools)'))</CoreDisToolsPackageVersion>
- <!-- The CoreDisTools package's rid-specific assets are an older, pinned version for non-Windows platforms. So we hardcode that here so we avoid parsing JSON in MSBuild. -->
- <CoreDisToolsPackageVersion Condition="!$([MSBuild]::IsOSPlatform(Windows))">1.0.1-prerelease-00002</CoreDisToolsPackageVersion>
- <CoreDisToolsPackageNameLowercase>$(MicrosoftNETCoreCoreDisToolsPackageName.ToLower())</CoreDisToolsPackageNameLowercase>
- <CoreDisToolsPackagePath>$([MSBuild]::NormalizePath($(PkgMicrosoft_NETCore_CoreDisTools),../../,runtime.$(RuntimeIdentifier).$(CoreDisToolsPackageNameLowercase),$(CoreDisToolsPackageVersion)))</CoreDisToolsPackagePath>
- </PropertyGroup>
-
- <Error Condition="!Exists('$(CoreDisToolsPackagePath)')" Text="Unable to locate restored CoreDisTools package. Maybe the platform-specific package naming changed or there is not a version available for rid $(RuntimeIdentifier)?" />
-
- <!-- Cleanup old version file -->
- <Delete Files="$(CoreDisToolsPackagePathOutputFile)" Condition="Exists('$(CoreDisToolsPackagePathOutputFile)')" />
-
- <WriteLinesToFile File="$(CoreDisToolsPackagePathOutputFile)" Lines="$(CoreDisToolsPackagePath)" Overwrite="true"/>
- <Message Text="Microsoft.NETCore.CoreDisTools Package path: $(CoreDisToolsPackagePath) written to: $(CoreDisToolsPackagePathOutputFile)" />
- </Target>
-
-</Project>
set __CommonMSBuildArgs=
set __SkipRestorePackages=
-set __SkipStressDependencies=
set __SkipManaged=
set __SkipTestWrappers=
set __BuildTestWrappersOnly=
if /i "%1" == "ci" (set __ArcadeScriptArgs="-ci"&set __ErrMsgPrefix=##vso[task.logissue type=error]&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
-if /i "%1" == "skipstressdependencies" (set __SkipStressDependencies=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "skiprestorepackages" (set __SkipRestorePackages=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "skipmanaged" (set __SkipManaged=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "skipnative" (set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "skiptestwrappers" (set __SkipTestWrappers=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "skipgeneratelayout" (set __SkipGenerateLayout=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
-if /i "%1" == "copynativeonly" (set __CopyNativeTestBinaries=1&set __SkipStressDependencies=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set __SkipGenerateLayout=1&set __SkipTestWrappers=1&set __SkipCrossgenFramework=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
+if /i "%1" == "copynativeonly" (set __CopyNativeTestBinaries=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set __SkipGenerateLayout=1&set __SkipTestWrappers=1&set __SkipCrossgenFramework=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "generatelayoutonly" (set __SkipManaged=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
-if /i "%1" == "buildtestwrappersonly" (set __SkipNative=1&set __SkipManaged=1&set __BuildTestWrappersOnly=1&set __SkipGenerateLayout=1&set __SkipStressDependencies=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
+if /i "%1" == "buildtestwrappersonly" (set __SkipNative=1&set __SkipManaged=1&set __BuildTestWrappersOnly=1&set __SkipGenerateLayout=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "buildagainstpackages" (echo error: Remove /BuildAgainstPackages switch&&exit /b1)
if /i "%1" == "crossgen" (set __DoCrossgen=1&set __TestBuildMode=crossgen&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
REM =========================================================================================
REM ===
-REM === Restore Build Tools
-REM ===
-REM =========================================================================================
-
-@if defined _echo @echo on
-
-set "__ToolsDir=%__ProjectDir%\Tools"
-
-REM =========================================================================================
-REM ===
-REM === Resolve runtime dependences
-REM ===
-REM =========================================================================================
-
-if defined __SkipStressDependencies goto skipstressdependencies
-
-call "%__RepoRootDir%\src\tests\Common\setup-stress-dependencies.cmd" /arch %__BuildArch% /outputdir %__BinDir%
-if errorlevel 1 (
- echo %__ErrMsgPrefix%%__MsgPrefix%Error: setup-stress-dependencies failed.
- exit /b 1
-)
-
-:skipstressdependencies
-@if defined _echo @echo on
-
-REM =========================================================================================
-REM ===
REM === Native test build section
REM ===
REM =========================================================================================
build_MSBuild_projects "Tests_Overlay_Managed" "$__RepoRootDir/src/tests/run.proj" "Creating test overlay" "/t:CreateTestOverlay"
- if [[ "$__TargetOS" != "OSX" && "$__SkipStressDependencies" == 0 ]]; then
- nextCommand="\"${__RepoRootDir}/src/tests/Common/setup-stress-dependencies.sh\" --arch=$__BuildArch --outputDir=$CORE_ROOT"
- echo "Resolve runtime dependences via $nextCommand"
- eval $nextCommand
-
- local exitCode="$?"
- if [[ "$exitCode" != 0 ]]; then
- echo "${__ErrMsgPrefix}${__MsgPrefix}Error: setup-stress-dependencies failed."
- exit "$exitCode"
- fi
- fi
-
# Precompile framework assemblies with crossgen if required
if [[ "$__DoCrossgen" != 0 || "$__DoCrossgen2" != 0 ]]; then
chmod +x "$__CrossgenExe"
;;
copynativeonly|-copynativeonly)
- __SkipStressDependencies=1
__SkipNative=1
__SkipManaged=1
__CopyNativeTestBinaries=1
__SkipRestorePackages=1
;;
- skipstressdependencies|-skipstressdependencies)
- __SkipStressDependencies=1
- ;;
-
skipgeneratelayout|-skipgeneratelayout)
__SkipGenerateLayout=1
;;
__SkipNative=0
__SkipRestore=""
__SkipRestorePackages=0
-__SkipStressDependencies=0
__SkipCrossgenFramework=0
__SourceDir="$__ProjectDir/src"
__UnprocessedBuildArgs=