diff --git a/eng/common/scripts/Package-Properties.ps1 b/eng/common/scripts/Package-Properties.ps1 index 2250b4f80..6a70070be 100644 --- a/eng/common/scripts/Package-Properties.ps1 +++ b/eng/common/scripts/Package-Properties.ps1 @@ -15,7 +15,7 @@ class PackageProps [boolean]$IsNewSdk [string]$ArtifactName [string]$ReleaseStatus - [string[]]$DependentPackages + [string[]]$AdditionalValidationPackages PackageProps([string]$name, [string]$version, [string]$directoryPath, [string]$serviceDirectory) { @@ -113,7 +113,7 @@ function Get-PrPkgProperties([string]$InputDiffJson) { $diff = Get-Content $InputDiffJson | ConvertFrom-Json $targetedFiles = $diff.ChangedFiles - $dependentPackagesForInclusion = @() + $additionalValidationPackages = @() $lookup = @{} foreach ($pkg in $allPackageProperties) @@ -129,19 +129,26 @@ function Get-PrPkgProperties([string]$InputDiffJson) { if ($shouldInclude) { $packagesWithChanges += $pkg - if ($pkg.DependentPackages) { - $dependentPackagesForInclusion += $pkg.DependentPackages + if ($pkg.AdditionalValidationPackages) { + $additionalValidationPackages += $pkg.AdditionalValidationPackages } } } } - foreach ($addition in $dependentPackagesForInclusion) { - if ($lookup[$addition]) { - $packagesWithChanges += $lookup[$addition] + foreach ($addition in $additionalValidationPackages) { + $key = $addition.Replace($RepoRoot, "").SubString(1) + + if ($lookup[$key]) { + $packagesWithChanges += $lookup[$key] } } + if ($AdditionalValidationPackagesFromPackageSetFn -and (Test-Path "Function:$AdditionalValidationPackagesFromPackageSetFn")) + { + $packagesWithChanges += &$AdditionalValidationPackagesFromPackageSetFn $packagesWithChanges $diff + } + return $packagesWithChanges } diff --git a/eng/common/scripts/common.ps1 b/eng/common/scripts/common.ps1 index 0025d1c6f..831b4719f 100644 --- a/eng/common/scripts/common.ps1 +++ b/eng/common/scripts/common.ps1 @@ -62,7 +62,8 @@ $GetEmitterAdditionalOptionsFn = "Get-${Language}-EmitterAdditionalOptions" $GetEmitterNameFn = "Get-${Language}-EmitterName" $GetDirectoriesForGenerationFn = "Get-${Language}-DirectoriesForGeneration" $UpdateGeneratedSdksFn = "Update-${Language}-GeneratedSdks" -$IsApiviewStatusCheckRequiredFn = "Get-${Language}-ApiviewStatusCheckRequirement" +$IsApiviewStatusCheckRequiredFn = "Get-${Language}-ApiviewStatusCheckRequirement" +$AdditionalValidationPackagesFromPackageSetFn = "Get-${Language}-AdditionalValidationPackagesFromPackageSet" # Expected to be set in eng/scripts/docs/Docs-Onboarding.ps1 $SetDocsPackageOnboarding = "Set-${Language}-DocsPackageOnboarding"