|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/7] Refactor msbuild.ps1
On 11/11/2025 09:34, Owen Smith wrote:
> From: Owen Smith <owen.smith@xxxxxxxxx>
>
> Moves all repo specific data to a 'Globals' section, and simplifies the
> structure so that it can be common across all drivers.
>
> Also seperates DVL log generation from SDV build, so that DVL logs
> can be created for CodeQL builds without SDV.
>
> Signed-off-by: Owen Smith <owen.smith@xxxxxxxxx>
Reviewed-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
> ---
> msbuild.ps1 | 67 +++++++++++++++++++++++++++++++++++------------------
> 1 file changed, 45 insertions(+), 22 deletions(-)
>
> diff --git a/msbuild.ps1 b/msbuild.ps1
> index 64455ea..83b6928 100644
> --- a/msbuild.ps1
> +++ b/msbuild.ps1
> @@ -12,6 +12,16 @@ param(
> [switch]$CodeAnalysis
> )
>
> +#
> +# Globals
> +#
> +$SolutionName = "xenbus.sln"
> +$ArchivePath = "xenbus"
> +$ProjectList = @( "xen", "xenfilt", "xenbus" )
> +
> +#
> +# Functions
> +#
> Function Run-MSBuild {
> param(
> [string]$SolutionPath,
> @@ -63,6 +73,24 @@ Function Run-MSBuildSDV {
> Run-MSBuild $projpath $project $Configuration $Platform "Build"
> Run-MSBuild $projpath $project $Configuration $Platform "sdv" "/clean"
> Run-MSBuild $projpath $project $Configuration $Platform "sdv"
> "/check:default.sdv /debug"
> +
> + Set-Location $basepath
> +}
> +
> +Function Run-MSBuildDVL {
> + param(
> + [string]$SolutionPath,
> + [string]$Name,
> + [string]$Configuration,
> + [string]$Platform
> + )
> +
> + $basepath = Get-Location
> + $projpath = Join-Path -Path $SolutionPath -ChildPath $Name
> + Set-Location $projpath
> +
> + $project = [string]::Format("{0}.vcxproj", $Name)
> +
> Run-MSBuild $projpath $project $Configuration $Platform "Build"
> -CodeAnalysis
> Run-MSBuild $projpath $project $Configuration $Platform "dvl"
>
> @@ -151,19 +179,15 @@ $solutionpath = Resolve-Path $SolutionDir
>
> Set-ExecutionPolicy -Scope CurrentUser -Force Bypass
>
> -if ($Type -eq "free") {
> - Run-MSBuild $solutionpath "xenbus.sln" $configuration["free"]
> $platform[$Arch] -CodeAnalysis:$CodeAnalysis
> -}
> -elseif ($Type -eq "checked") {
> - Run-MSBuild $solutionpath "xenbus.sln" $configuration["checked"]
> $platform[$Arch] -CodeAnalysis:$CodeAnalysis
> +if (-Not (Test-Path -Path $archivepath)) {
> + New-Item -Name $archivepath -ItemType Directory | Out-Null
> }
> -elseif ($Type -eq "codeql") {
> - $archivepath = "xenbus"
>
> - if (-Not (Test-Path -Path $archivepath)) {
> - New-Item -Name $archivepath -ItemType Directory | Out-Null
> - }
> +if (($Type -eq "free") -or ($Type -eq "checked")) {
> + Run-MSBuild $solutionpath $SolutionName $configuration[$Type]
> $platform[$Arch] -CodeAnalysis:$CodeAnalysis
> +}
>
> +if ($Type -eq "codeql") {
> if ([string]::IsNullOrEmpty($Env:CODEQL_QUERY_SUITE)) {
> $searchpath = Resolve-Path ".."
> } else {
> @@ -175,22 +199,21 @@ elseif ($Type -eq "codeql") {
> }
> New-Item -ItemType Directory "database"
>
> - Run-CodeQL $solutionpath "xen" $configuration["codeql"]
> $platform[$Arch] $searchpath
> - Run-CodeQL $solutionpath "xenfilt" $configuration["codeql"]
> $platform[$Arch] $searchpath
> - Run-CodeQL $solutionpath "xenbus" $configuration["codeql"]
> $platform[$Arch] $searchpath
> -
> + ForEach ($project in $ProjectList) {
> + Run-CodeQL $solutionpath $project $configuration["codeql"]
> $platform[$Arch] $searchpath
> + }
> Copy-Item -Path (Join-Path -Path $SolutionPath -ChildPath "*.sarif")
> -Destination $archivepath
> }
> -elseif ($Type -eq "sdv") {
> - $archivepath = "xenbus"
>
> - if (-Not (Test-Path -Path $archivepath)) {
> - New-Item -Name $archivepath -ItemType Directory | Out-Null
> +if ($Type -eq "sdv") {
> + ForEach ($project in $ProjectList) {
> + Run-MSBuildSDV $solutionpath $project $configuration["sdv"]
> $platform[$Arch]
> }
> +}
>
> - Run-MSBuildSDV $solutionpath "xen" $configuration["sdv"]
> $platform[$Arch]
> - Run-MSBuildSDV $solutionpath "xenfilt" $configuration["sdv"]
> $platform[$Arch]
> - Run-MSBuildSDV $solutionpath "xenbus" $configuration["sdv"]
> $platform[$Arch]
> -
> +if (($Type -eq "codeql") -or ($Type -eq "sdv")) {
> + ForEach ($project in $ProjectList) {
> + Run-MSBuildDVL $solutionpath $project $configuration["sdv"]
> $platform[$Arch]
> + }
> Copy-Item -Path (Join-Path -Path $SolutionPath -ChildPath "*DVL*")
> -Destination $archivepath
> }
--
Ngoc Tu Dinh | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |