mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-14 10:36:50 -07:00
add a script to check nuget config for PRs (#2042)
This commit is contained in:
parent
453b7c2944
commit
0b9b2077eb
2 changed files with 34 additions and 0 deletions
|
@ -37,6 +37,12 @@ jobs:
|
|||
- checkout: self
|
||||
fetchDepth: 1
|
||||
|
||||
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- powershell: |
|
||||
$(Build.SourcesDirectory)\build\scripts\VerifyNugetConfig.ps1 -FilePath "$(Build.SourcesDirectory)\nuget.config"
|
||||
displayName: Verify nuget config
|
||||
failOnStderr: true
|
||||
|
||||
- ${{ if eq(parameters.isReleaseBuild, true) }}:
|
||||
- task: UniversalPackages@0
|
||||
displayName: Download internals package
|
||||
|
|
28
build/scripts/VerifyNugetConfig.ps1
Normal file
28
build/scripts/VerifyNugetConfig.ps1
Normal file
|
@ -0,0 +1,28 @@
|
|||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Verify the specified nuget.config. Throw to fail the pipeline if the config is ill-formed.
|
||||
.PARAMETER FilePath
|
||||
The path pointing to the nuget.config file to be verified by this script.
|
||||
.EXAMPLE
|
||||
VerifyNugetConfig -FilePath .\nuget.config
|
||||
#>
|
||||
|
||||
param([Parameter(Mandatory)][string]$FilePath)
|
||||
|
||||
$doc = [XML](Get-Content $FilePath)
|
||||
$sources = (Select-Xml $doc -XPath "//configuration/packageSources").Node
|
||||
$count = 0
|
||||
foreach($src in $sources.ChildNodes){
|
||||
if ($src.Name -eq "add"){
|
||||
++$count
|
||||
}
|
||||
elseif ($src.Name -eq "clear"){
|
||||
$count = 0
|
||||
}
|
||||
}
|
||||
if ($count -gt 1){
|
||||
throw "Adding multiple package sources is not allowed in nuget.config."
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue