[Tizen] Pack test libs to coreclr-test
[platform/upstream/coreclr.git] / build-packages.cmd
index 3297bfc..a404b09 100644 (file)
@@ -1,46 +1,50 @@
-@if "%_echo%" neq "on" echo off
+@if not defined _echo @echo off
 setlocal EnableDelayedExpansion
 
 set "__ProjectDir=%~dp0"
-set allargs=%*
 
+set "__args=%*"
+set processedArgs=
+set unprocessedArgs=
+set __MSBuildArgs=
+
+:Arg_Loop
+if "%1" == "" goto ArgsDone
 if /I [%1] == [/?] goto Usage
 if /I [%1] == [/help] goto Usage
 
-call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.Runtime.CoreClr/Microsoft.NETCore.Runtime.CoreCLR.builds -FilterToOSGroup=Windows_NT %allargs%
-if NOT [!ERRORLEVEL!]==[0] (
-  echo ERROR: An error occurred while building CoreCLR Runtime package, see build-packages.log for more details.
-  exit /b 1
-)
-
-call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds -FilterToOSGroup=Windows_NT %allargs%
-if NOT [!ERRORLEVEL!]==[0] (
-  echo ERROR: An error occurred while building Jit package, see build-packages.log for more details.
-  exit /b 1
-)
-
-call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds -FilterToOSGroup=Windows_NT %allargs%
-if NOT [!ERRORLEVEL!]==[0] (
-  echo ERROR: An error occurred while building ILAsm package, see build-packages.log for more details.
-  exit /b 1
+REM CMD eats "=" on the argument list.
+REM TODO: remove all -Property=Value type arguments here once we get rid of them in buildpipeline.
+if /i "%1" == "-BuildArch"       (set processedArgs=!processedArgs! %1=%2&set __MSBuildArgs=!__MSBuildArgs! /p:__BuildArch=%2&shift&shift&goto Arg_Loop)
+if /i "%1" == "-BuildType"       (set processedArgs=!processedArgs! %1=%2&set __MSBuildArgs=!__MSBuildArgs! /p:__BuildType=%2&shift&shift&goto Arg_Loop)
+if /i "%1" == "-OfficialBuildId" (set processedArgs=!processedArgs! %1=%2&set __MSBuildArgs=!__MSBuildArgs! /p:OfficialBuildId=%2&shift&shift&goto Arg_Loop)
+if /i "%1" == "--"               (set processedArgs=!processedArgs! %1&shift)
+
+REM handle any unprocessed arguments, assumed to go only after the processed arguments above
+if [!processedArgs!]==[] (
+   set unprocessedArgs=%__args%
+) else (
+   set unprocessedArgs=%__args%
+   for %%t in (!processedArgs!) do (
+   REM strip out already-processed arguments from unprocessedArgs
+   set unprocessedArgs=!unprocessedArgs:*%%t=!
+   )
 )
 
-call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds -FilterToOSGroup=Windows_NT %allargs%
-if NOT [!ERRORLEVEL!]==[0] (
-  echo ERROR: An error occurred while building ILDAsm package, see build-packages.log for more details.
-  exit /b 1
-)
+:ArgsDone
 
-call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.TargetingPack.Private.CoreCLR/Microsoft.TargetingPack.Private.CoreCLR.pkgproj -FilterToOSGroup=Windows_NT %allargs%
-if NOT [!ERRORLEVEL!]==[0] (
-  echo ERROR: An error occurred while building CoreCLR TargetingPack package, see build-packages.log for more details.
-  exit /b 1
-)
+set logFile=%__ProjectDir%bin\Logs\build-packages.binlog
+powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__ProjectDir%eng\common\build.ps1"^
+  -r -b -projects %__ProjectDir%src\.nuget\packages.builds^
+  -verbosity minimal /bl:%logFile% /nodeReuse:false^
+  /p:__BuildOS=Windows_NT /p:ArcadeBuild=true^
+  /p:PortableBuild=true /p:FilterToOSGroup=Windows_NT^
+  %__MSBuildArgs% %unprocessedArgs%
 
-call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%\src\.nuget\Microsoft.NETCore.TestHost\Microsoft.NETCore.TestHost.builds -FilterToOSGroup=Windows_NT %allargs%
 if NOT [!ERRORLEVEL!]==[0] (
-  echo ERROR: An error occurred while building packages, see %packagesLog% for more details.
-  exit /b 1
+  echo ERROR: An error occurred while building packages. See log for more details:
+  echo     %logFile%
+  exit /b !ERRORLEVEL!
 )
 
 echo Done Building Packages.