Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 430b0d8

Browse files
committed
[release/2.2] Remove the Smarty dependency and move Windows ARM to Helix queue
Port (partially) the following changes: * Build xunit wrappers the same way on windows and unix (#18695) * Work around cmd command length limit in xunit Exec task (#19095) * Update vc-runtime package to support ARM and ARM64 with current builds (#19265) * build-test - fix TestWrapper CS warnings (#19180) * Clean up build.cmd/build-test.cmd/runtest.cmd (#19291) * Use runtest.py to run tests for all platforms (#19213) * Updating runtest.py so that it works with Python 3 (#19768) * Fix build-test.sh wrapper build (#19779) * Move ARM64 Windows boxen to be Helix-provisioned (#20204) * Runtest.py on Windows Arm(64) (#20227) * Use runtest.cmd for arm(64) windows testing (#20301) * Do not restore or initialize buildtools for x86/arm64 (#20370) * Add hack for arm64/x86 to skip build tools restore (#20390) Update Xunit to 2.4.1 prerelease version Use the latest version (dbf0bf1) of tests/runtest.py
1 parent 70846ce commit 430b0d8

38 files changed

+2737
-588
lines changed

build-test.cmd

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ set processedArgs=
4646
set __unprocessedBuildArgs=
4747
set __RunArgs=
4848
set __BuildAgainstPackagesArg=
49+
set __BuildAgainstPackagesMsbuildArg=
4950
set __RuntimeId=
5051
set __ZipTests=
5152
set __TargetsWindows=1
@@ -56,6 +57,8 @@ set __DoCrossgen=
5657
@REM appears to CMD parsing as "-priority 1". Handle -priority specially to avoid problems,
5758
@REM and allow the "-priority=1" syntax.
5859
set __Priority=0
60+
set __PriorityArg=
61+
set __PassThroughArg=
5962

6063
:Arg_Loop
6164
if "%1" == "" goto ArgsDone
@@ -75,13 +78,14 @@ if /i "%1" == "checked" (set __BuildType=Checked&set processedArgs
7578

7679
if /i "%1" == "skipmanaged" (set __SkipManaged=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
7780
if /i "%1" == "toolset_dir" (set __ToolsetDir=%2&set __PassThroughArgs=%__PassThroughArgs% %2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop)
78-
if /i "%1" == "buildagainstpackages" (set __ZipTests=1&set __BuildAgainstPackagesArg=-BuildTestsAgainstPackages&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
81+
if /i "%1" == "buildagainstpackages" (set __ZipTests=1&set __BuildAgainstPackagesArg=-BuildTestsAgainstPackages&set __BuildAgainstPackagesMsbuildArg=/p:BuildTestsAgainstPackages=true&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
7982
if /i "%1" == "ziptests" (set __ZipTests=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
8083
if /i "%1" == "crossgen" (set __DoCrossgen=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
8184
if /i "%1" == "runtimeid" (set __RuntimeId=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop)
8285
if /i "%1" == "targetsNonWindows" (set __TargetsWindows=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
8386
if /i "%1" == "Exclude" (set __Exclude=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop)
8487
if /i "%1" == "-priority" (set __Priority=%2&shift&set processedArgs=!processedArgs! %1=%2&shift&goto Arg_Loop)
88+
if /i "%1" == "--" (set __PassThroughArg=%1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
8589

8690
if [!processedArgs!]==[] (
8791
set __UnprocessedBuildArgs=%__args%
@@ -95,7 +99,7 @@ if [!processedArgs!]==[] (
9599
:ArgsDone
96100

97101
@REM Special handling for -priority=N argument.
98-
if %__Priority% GTR 0 (set "__UnprocessedBuildArgs=!__UnprocessedBuildArgs! -priority=%__Priority%")
102+
if %__Priority% GTR 0 (set "__PriorityArg=-priority=%__Priority%")
99103

100104
if defined __BuildAgainstPackagesArg (
101105
if not defined __RuntimeID (
@@ -107,6 +111,8 @@ if defined __BuildAgainstPackagesArg (
107111
@if defined _echo @echo on
108112

109113
set __RunArgs=-BuildOS=%__BuildOS% -BuildType=%__BuildType% -BuildArch=%__BuildArch%
114+
REM As we move from buildtools to arcade, __RunArgs should be replaced with __msbuildArgs
115+
set __msbuildArgs=/p:__BuildOS=%__BuildOS% /p:__BuildType=%__BuildType% /p:__BuildArch=%__BuildArch%
110116

111117
if defined __ToolsetDir (
112118
rem arm64 builds currently use private toolset which has not been released yet
@@ -150,6 +156,12 @@ REM ===
150156
REM =========================================================================================
151157
call "%__ProjectDir%\init-tools.cmd"
152158
@if defined _echo @echo on
159+
set "__ToolsDir=%__ProjectDir%\Tools"
160+
set "__DotnetHost=%__ToolsDir%\dotnetcli\dotnet.exe"
161+
if not exist "%__DotnetHost%" (
162+
echo %__DotnetHost% not found after init-tools.
163+
exit /b 1
164+
)
153165

154166
REM =========================================================================================
155167
REM ===
@@ -212,7 +224,7 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%"
212224
set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%"
213225
set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%"
214226

215-
call "%__ProjectDir%\run.cmd" build -Project="%__NativeTestIntermediatesDir%\install.vcxproj" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__msbuildNativeArgs% %__RunArgs% %__unprocessedBuildArgs%
227+
call "%__ProjectDir%\run.cmd" build -Project="%__NativeTestIntermediatesDir%\install.vcxproj" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__msbuildNativeArgs% %__RunArgs% %__PriorityArg% %__PassThroughArg% %__unprocessedBuildArgs%
216228
if errorlevel 1 (
217229
echo %__MsgPrefix%Error: build failed. Refer to the build log files for details:
218230
echo %__BuildLog%
@@ -243,7 +255,7 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%"
243255
set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%"
244256
set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%"
245257

246-
call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\build.proj -BatchRestorePackages -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs%
258+
call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\build.proj -BatchRestorePackages -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__PriorityArg% %__PassThroughArg% %__unprocessedBuildArgs%
247259

248260
set __BuildLogRootName=Tests_GenerateRuntimeLayout
249261
set __BuildLog=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.log
@@ -253,7 +265,7 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%"
253265
set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%"
254266
set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%"
255267

256-
call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\runtest.proj -BinPlaceRef -BinPlaceProduct -CopyCrossgenToProduct -RuntimeId="%__RuntimeId%" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs%
268+
call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\runtest.proj -BinPlaceRef -BinPlaceProduct -CopyCrossgenToProduct -RuntimeId="%__RuntimeId%" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__PriorityArg% %__PassThroughArg% %__unprocessedBuildArgs%
257269
if errorlevel 1 (
258270
echo BinPlace of mscorlib.dll failed
259271
exit /b 1
@@ -301,7 +313,7 @@ for /l %%G in (1, 1, %__BuildLoopCount%) do (
301313
set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%";Append=!__AppendToLog!
302314

303315
set TestBuildSlice=%%G
304-
call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\build.proj -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs%
316+
call "%__ProjectDir%\run.cmd" build -Project=%__ProjectDir%\tests\build.proj -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__PriorityArg% %__PassThroughArg% %__unprocessedBuildArgs%
305317

306318
if errorlevel 1 (
307319
echo %__MsgPrefix%Error: build failed. Refer to the build log files for details:
@@ -331,7 +343,7 @@ md "%CORE_ROOT_STAGE%"
331343
xcopy "%__BinDir%" "%CORE_ROOT_STAGE%"
332344

333345

334-
if defined __BuildAgainstPackagesArg (
346+
if defined __BuildAgainstPackagesArg (
335347
if "%__TargetsWindows%"=="0" (
336348

337349
if not exist %__PackagesDir%\TestNativeBins (
@@ -347,16 +359,18 @@ if defined __BuildAgainstPackagesArg (
347359
echo %__MsgPrefix%Creating test wrappers...
348360

349361
set RuntimeIdArg=
350-
set TargetsWindowsArg=
351-
352362
if defined __RuntimeId (
353363
set RuntimeIdArg=-RuntimeID="%__RuntimeId%"
354364
)
355365

366+
set TargetsWindowsArg=
367+
set TargetsWindowsMsbuildArg=
356368
if "%__TargetsWindows%"=="1" (
357369
set TargetsWindowsArg=-TargetsWindows=true
370+
set TargetsWindowsMsbuildArg=/p:TargetsWindows=true
358371
) else if "%__TargetsWindows%"=="0" (
359372
set TargetsWindowsArg=-TargetsWindows=false
373+
set TargetsWindowsMsbuildArg=/p:TargetsWindows=false
360374
)
361375

362376
set __BuildLogRootName=Tests_XunitWrapper
@@ -367,11 +381,13 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%"
367381
set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%"
368382
set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%"
369383

370-
call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -BuildWrappers -MsBuildEventLogging=" " -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %TargetsWindowsArg% %__unprocessedBuildArgs%
384+
REM Build wrappers using the local SDK's msbuild. As we move to arcade, the other builds should be moved away from run.exe as well.
385+
call %__DotnetHost% msbuild %__ProjectDir%\tests\runtest.proj /p:BuildWrappers=true !__msbuildLog! !__msbuildWrn! !__msbuildErr! %__msbuildArgs% %TargetsWindowsMsbuildArg% %__BuildAgainstPackagesMsbuildArg% %__unprocessedBuildArgs%
371386
if errorlevel 1 (
372387
echo Xunit Wrapper build failed
373388
exit /b 1
374389
)
390+
echo { "build_os": "%__BuildOS%", "build_arch": "%__BuildArch%", "build_type": "%__BuildType%" } > "%__TestBinDir%/build_info.json"
375391

376392
echo %__MsgPrefix%Creating test overlay...
377393

@@ -383,7 +399,7 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%"
383399
set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%"
384400
set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%"
385401

386-
call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -testOverlay -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %RuntimeIdArg% %__unprocessedBuildArgs%
402+
call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -testOverlay -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %RuntimeIdArg% %__PriorityArg% %__PassThroughArg% %__unprocessedBuildArgs%
387403
if errorlevel 1 (
388404
echo %__MsgPrefix%Error: build failed. Refer to the build log files for details:
389405
echo %__BuildLog%
@@ -422,7 +438,7 @@ REM === Prep test binaries for Helix publishing
422438
REM ===
423439
REM =========================================================================================
424440

425-
call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\helixprep.proj -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %RuntimeIdArg% %TargetsWindowsArg% %__CrossgenArg% %__unprocessedBuildArgs%
441+
call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\helixprep.proj -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %RuntimeIdArg% %TargetsWindowsArg% %__CrossgenArg% %__PriorityArg% %__PassThroughArg% %__unprocessedBuildArgs%
426442
if errorlevel 1 (
427443
echo %__MsgPrefix%Error: build failed. Refer to the build log files for details:
428444
echo %__BuildLog%
@@ -550,6 +566,6 @@ if %__exitCode% neq 0 (
550566
:: Delete original .dll & replace it with the Crossgened .dll
551567
del %1
552568
ren "%CORE_ROOT%\temp.ni.dll" %2
553-
569+
554570
echo Successfully precompiled %2
555571
exit /b 0

buildpipeline/tests/Dotnet-CoreClr-Trusted-BuildTests.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
},
126126
"inputs": {
127127
"filename": "build-test.cmd",
128-
"arguments": "$(ParentBuildType) $(Architecture) buildagainstpackages runtimeid $(Rid) $(TargetsNonWindowsArg)$(CrossgenArg)-OfficialBuildId=$(ParentOfficialBuildId) -OverwriteCoreClrPackageVersion -Priority=$(Priority) -- /p:IntermediateAzureFeed=$(IntermediateAzureFeed)",
128+
"arguments": "$(ParentBuildType) $(Architecture) buildagainstpackages runtimeid $(Rid) $(TargetsNonWindowsArg) $(CrossgenArg) -Priority=$(Priority) -- /p:OfficialBuildId=$(ParentOfficialBuildId) /p:OverwriteCoreClrPackageVersion=true /p:IntermediateAzureFeed=$(IntermediateAzureFeed)",
129129
"workingFolder": "",
130130
"failOnStandardError": "false"
131131
}

dependencies.props

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,11 @@
3535
<MicrosoftNETCorePlatformsPackageVersion>2.2.0-preview3-27014-02</MicrosoftNETCorePlatformsPackageVersion>
3636
<PgoDataPackageVersion>2.2.0-release-20180912-0041</PgoDataPackageVersion>
3737
<MicrosoftNETCoreRuntimeCoreCLRPackageVersion>2.2.0-preview3-27014-03</MicrosoftNETCoreRuntimeCoreCLRPackageVersion>
38-
<XunitPackageVersion>2.2.0-beta2-build3300</XunitPackageVersion>
39-
<XunitConsoleNetcorePackageVersion>1.0.2-prerelease-00177</XunitConsoleNetcorePackageVersion>
38+
<XunitPackageVersion>2.4.1-pre.build.4059</XunitPackageVersion>
4039
<XunitPerformanceApiPackageVersion>1.0.0-beta-build0015</XunitPerformanceApiPackageVersion>
4140
<MicrosoftDiagnosticsTracingTraceEventPackageVersion>2.0.4</MicrosoftDiagnosticsTracingTraceEventPackageVersion>
4241
<CommandLineParserVersion>2.1.1</CommandLineParserVersion>
43-
<VCRuntimeVersion>1.2.0</VCRuntimeVersion>
42+
<VCRuntimeVersion>2.0.0</VCRuntimeVersion>
4443

4544
<!-- Scenario tests install this version of Microsoft.NetCore.App, then patch coreclr binaries via xcopy. At the moment it is
4645
updated manually whenever breaking changes require it to move forward, but it would be nice if we could update it automatically
@@ -163,10 +162,6 @@
163162
<Version>$(XunitPerformanceApiPackageVersion)</Version>
164163
</StaticDependency>
165164

166-
<StaticDependency Include="xunit.console.netcore">
167-
<Version>$(XunitConsoleNetcorePackageVersion)</Version>
168-
</StaticDependency>
169-
170165
<DependencyBuildInfo Include="@(StaticDependency)">
171166
<PackageId>%(Identity)</PackageId>
172167
<UpdateStableVersions>true</UpdateStableVersions>

dir.common.props

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
3+
<!-- This file contains build properties that apply to product
4+
projects and test projects. It's imported by
5+
tests/dir.common.props, and the global dir.props. -->
6+
7+
<PropertyGroup>
8+
<CoreclrDir>$(MSBuildThisFileDirectory)</CoreclrDir>
9+
<PackagesDir>$(CoreclrDir)/packages</PackagesDir>
10+
</PropertyGroup>
11+
12+
<!-- Set default Configuration and Platform -->
13+
<PropertyGroup>
14+
<BuildArch>$(__BuildArch)</BuildArch>
15+
<BuildArch Condition="'$(__BuildArch)'==''">x64</BuildArch>
16+
<BuildArch Condition="'$(__BuildArch)' == 'amd64'">x64</BuildArch>
17+
18+
<BuildType>$(__BuildType)</BuildType>
19+
<BuildType Condition="'$(__BuildType)'==''">Debug</BuildType>
20+
<BuildType Condition="'$(__BuildType)' == 'debug'">Debug</BuildType>
21+
<BuildType Condition="'$(__BuildType)' == 'release'">Release</BuildType>
22+
<BuildType Condition="'$(__BuildType)' == 'checked'">Checked</BuildType>
23+
24+
<BuildOS>$(__BuildOS)</BuildOS>
25+
<BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</BuildOS>
26+
27+
<Configuration Condition="'$(Configuration)' == ''">$(BuildType)</Configuration>
28+
<Platform Condition="'$(Platform)' == ''">$(BuildArch)</Platform>
29+
</PropertyGroup>
30+
31+
<PropertyGroup>
32+
<RestorePackagesPath>$(PackagesDir)</RestorePackagesPath>
33+
</PropertyGroup>
34+
35+
36+
</Project>

dir.props

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<Import Condition="Exists('..\dir.props')" Project="..\dir.props" />
44

5+
<Import Project="dir.common.props" />
6+
57
<!--
68
$(OS) is set to Unix/Windows_NT. This comes from an environment variable on Windows and MSBuild on Unix.
79
-->
@@ -42,18 +44,6 @@
4244

4345
<!-- Common properties -->
4446
<PropertyGroup>
45-
<!-- Set basic properties and normalize -->
46-
<BuildArch>$(__BuildArch)</BuildArch>
47-
<BuildArch Condition="'$(__BuildArch)'==''">x64</BuildArch>
48-
<BuildArch Condition="'$(__BuildArch)' == 'amd64'">x64</BuildArch>
49-
50-
<BuildType Condition="'$(__BuildType)'==''">Debug</BuildType>
51-
<BuildType Condition="'$(__BuildType)' == 'debug'">Debug</BuildType>
52-
<BuildType Condition="'$(__BuildType)' == 'release'">Release</BuildType>
53-
<BuildType Condition="'$(__BuildType)' == 'checked'">Checked</BuildType>
54-
55-
<BuildOS>$(__BuildOS)</BuildOS>
56-
<BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</BuildOS>
5747

5848
<ProjectDir>$(__ProjectDir)\</ProjectDir>
5949
<ProjectDir Condition="'$(__ProjectDir)'==''">$(MSBuildThisFileDirectory)</ProjectDir>

init-tools.cmd

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,33 @@ echo Running %0 > "%INIT_TOOLS_LOG%"
4747
set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
4848
if exist "%DOTNET_CMD%" goto :afterdotnetrestore
4949

50+
REM Use x86 tools on arm64 and x86.
51+
REM arm32 host is not currently supported, please crossbuild.
52+
if /i "%PROCESSOR_ARCHITECTURE%" == "arm" (
53+
echo "Error, arm32 arch not supported for build tools."
54+
exit /b 1
55+
)
56+
57+
if /i "%PROCESSOR_ARCHITECTURE%" == "amd64" (
58+
set _Arch=x64
59+
goto ArchSet
60+
)
61+
62+
REM If this is not amd64 and not arm, then we should be running on arm64 or x86
63+
REM either way we can (and should) use the x86 dotnet cli
64+
REM
65+
REM TODO: consume native arm64 toolset, blocked by official arm64 windows cli
66+
REM : release. See https://github.com/dotnet/coreclr/issues/19614 for more
67+
REM : information
68+
set _Arch=x86
69+
70+
echo "init-tools.cmd: Setting arch to %_Arch% for build tools"
71+
72+
:ArchSet
73+
5074
echo Installing dotnet cli...
5175
if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%"
52-
set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-x64.zip
76+
set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%_Arch%.zip
5377
set DOTNET_REMOTE_PATH=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
5478
set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME%
5579
echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%"
@@ -61,6 +85,15 @@ if NOT exist "%DOTNET_LOCAL_PATH%" (
6185

6286
:afterdotnetrestore
6387

88+
REM We do not need the build tools for arm64/x86
89+
if /i "%PROCESSOR_ARCHITEW6432%" == "arm64" (
90+
goto :EOF
91+
)
92+
93+
if /i "%PROCESSOR_ARCHITECTURE%" == "arm64" (
94+
goto :EOF
95+
)
96+
6497
if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore
6598
echo Restoring BuildTools version %BUILDTOOLS_VERSION%...
6699
echo Running: "%DOTNET_CMD%" restore "%INIT_TOOLS_RESTORE_PROJECT%" --no-cache --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" /p:BuildToolsPackageVersion=%BUILDTOOLS_VERSION% /p:ToolsDir=%TOOLRUNTIME_DIR% >> "%INIT_TOOLS_LOG%"

0 commit comments

Comments
 (0)