| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #-------------------------------------------------------------------------------------------------------
- # Copyright (C) Microsoft. All rights reserved.
- # Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- #-------------------------------------------------------------------------------------------------------
- param (
- [ValidateSet("x86", "x64", "arm", "*")]
- [string]$arch = "*",
- [ValidateSet("debug", "release", "test", "codecoverage", "*")]
- [string]$flavor = "*",
- [string]$srcpath = "",
- [string]$binpath = "",
- [string]$objpath = "",
- [Parameter(Mandatory=$True)]
- [string]$srcsrvcmdpath,
- [string]$bvtcmdpath = "",
- [string]$repo = "core",
- [string]$logFile = "",
- # comma separated list of [arch,flavor,arch2,flavor2,...] to build
- [string[]]$pogo = @(),
- [string]$pogoscript = "",
- [switch]$noaction
- )
- $global:exitcode = 0
- if ($arch -eq "*") {
- . "$PSScriptRoot\util.ps1"
- foreach ($arch in ("x86", "x64", "arm")) {
- ExecuteCommand "$PSScriptRoot\post_build.ps1 -arch $arch -flavor $flavor -srcpath ""$srcpath"" -binpath ""$binpath"" -objpath ""$objpath"" -srcsrvcmdpath ""$srcsrvcmdpath"" -bvtcmdpath ""$bvtcmdpath"" -repo ""$repo""" -logFile ""$logFile"";
- }
- } elseif ($flavor -eq "*") {
- . "$PSScriptRoot\util.ps1"
- foreach ($flavor in ("debug", "test", "release")) {
- ExecuteCommand "$PSScriptRoot\post_build.ps1 -arch $arch -flavor $flavor -srcpath ""$srcpath"" -binpath ""$binpath"" -objpath ""$objpath"" -srcsrvcmdpath ""$srcsrvcmdpath"" -bvtcmdpath ""$bvtcmdpath"" -repo ""$repo""" -logFile ""$logFile"";
- }
- } else {
- $OuterScriptRoot = $PSScriptRoot;
- . "$PSScriptRoot\pre_post_util.ps1"
- if (($logFile -eq "") -and (Test-Path Env:\TF_BUILD_BINARIESDIRECTORY)) {
- $logFile = "${Env:TF_BUILD_BINARIESDIRECTORY}\logs\post_build_${arch}_${flavor}.log"
- if (Test-Path -Path $logFile) {
- Remove-Item $logFile -Force
- }
- }
- WriteMessage "======================================================================================"
- WriteMessage "Post build script for $arch $flavor";
- WriteMessage "======================================================================================"
- $bvtcmdpath = UseValueOrDefault $bvtcmdpath "" (Resolve-Path "$PSScriptRoot\..\..\test\runcitests.cmd");
- WriteCommonArguments;
- WriteMessage "BVT Command : $bvtcmdpath"
- WriteMessage ""
- $srcsrvcmd = ("{0} {1} {2} {3}\bin\{4}_{5}\*.pdb" -f $srcsrvcmdpath, $repo, $srcpath, $binpath, $arch, $flavor);
- $pogocmd = ("{0} {1} {2}" -f $pogoscript, $arch, $flavor);
- $prefastlog = ("{0}\logs\PrefastCheck_{1}_{2}.log" -f $binpath, $arch, $flavor);
- $prefastcmd = "$PSScriptRoot\check_prefast_error.ps1 -directory $objpath -logFile $prefastlog";
- # generate srcsrv
- if ((Test-Path $srcsrvcmdpath) -and (Test-Path $srcpath) -and (Test-Path $binpath)) {
- ExecuteCommand($srcsrvcmd);
- }
- # do PoGO
- $doPogo=$False
- for ($i=0; $i -lt $pogo.length; $i=$i+2) {
- if (($pogo[$i] -eq $arch) -and ($pogo[$i+1] -eq $flavor)) {
- $doPogo=$True
- }
- }
- if ($doPogo) {
- WriteMessage "Building pogo for $arch $flavor"
- ExecuteCommand($pogocmd);
- }
- # run test
- ExecuteCommand("$bvtcmdpath -$arch$flavor");
- # check prefast
- ExecuteCommand($prefastcmd);
- WriteMessage "";
- }
- exit $global:exitcode
|