From 651bdce82feeb71d0575cab01ef492769cce16c9 Mon Sep 17 00:00:00 2001 From: MoFtZ Date: Fri, 24 Jun 2022 16:44:58 +1000 Subject: [PATCH] Added script to generate compatibility suppression files. --- .../GenerateCompatibilitySuppressionFiles.ps1 | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Tools/GenerateCompatibilitySuppressionFiles/GenerateCompatibilitySuppressionFiles.ps1 diff --git a/Tools/GenerateCompatibilitySuppressionFiles/GenerateCompatibilitySuppressionFiles.ps1 b/Tools/GenerateCompatibilitySuppressionFiles/GenerateCompatibilitySuppressionFiles.ps1 new file mode 100644 index 000000000..fac6723f2 --- /dev/null +++ b/Tools/GenerateCompatibilitySuppressionFiles/GenerateCompatibilitySuppressionFiles.ps1 @@ -0,0 +1,49 @@ +## --------------------------------------------------------------------------------------- +## ILGPU +## Copyright (c) 2022 ILGPU Project +## www.ilgpu.net +## +## File: GenerateCompatibilitySuppressionFiles.ps1 +## +## This file is part of ILGPU and is distributed under the University of Illinois Open +## Source License. See LICENSE.txt for details. +## --------------------------------------------------------------------------------------- + +using namespace System.IO + +$basePath = [Path]::Combine($PSScriptRoot, '..\..') +$srcPath = [Path]::Combine($basePath, 'Src') + +# Reset by deleting existing compatibility suppression files. +# Otherwise, the existing suppression rules are never removed. +Write-Host ` + "Removing Existing Compatibility Suppression Files:" ` + -ForegroundColor Yellow + +$files = ` + Get-ChildItem ` + -path $srcPath ` + -Filter "CompatibilitySuppressions.xml" ` + -Recurse ` + -File +ForEach ($file in $files) { + Write-Host " - $($file.FullName)" -ForegroundColor Red + Remove-Item $file.FullName +} + +# Regenerate compatibility suppression files. +# Set GitHub Actions environment variable to enable building all +# configurations. +$propsFilePath = [Path]::Combine($srcPath, 'Directory.Build.props') +$xml = New-Object XML +$xml.Load($propsFilePath) +$node = $xml.SelectSingleNode( + '/Project/*/LibraryPackageValidationBaselineVersion'); + +Write-Host ` + "Generating Compatibility Suppression Files for:" ` + "$($node.InnerText)" ` + -ForegroundColor Yellow + +$env:GITHUB_ACTIONS = 'true' +dotnet pack /p:GenerateCompatibilitySuppressionFile=true $srcPath