Skip to content

Commit 9caec0d

Browse files
committed
Add support for outputting release order of specified packages
1 parent 8e71351 commit 9caec0d

File tree

2 files changed

+9
-16
lines changed

2 files changed

+9
-16
lines changed

eng/pipelines/templates/jobs/pack.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ jobs:
9797
-OutputPath '$(Build.ArtifactStagingDirectory)'
9898
-PackageNames $(PackageNames)
9999
-RequireDependencies:$$(RequireDependencies)
100+
-OutBuildOrderFile '$(Build.ArtifactStagingDirectory)/release-order.json'
100101
101102
# TODO: Ensure APIView works given a change to the crates output folder structure
102103
- template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml

eng/scripts/Pack-Crates.ps1

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ param(
1010
[switch]$RequireDependencies,
1111
[Parameter(ParameterSetName = 'PackageInfo')]
1212
[string]$PackageInfoDirectory,
13-
[switch]$NoVerify
13+
[switch]$NoVerify,
14+
[string]$OutBuildOrderFile
1415
)
1516

1617
$ErrorActionPreference = 'Stop'
@@ -174,21 +175,6 @@ try {
174175
Write-Error "Packages in -PackageNames require dependencies that are either not released or not listed for packing: $($unspecifiedPackages -join ', ')"
175176
exit 1
176177
}
177-
178-
$orderMatches = $true
179-
for ($i = 0; $i -lt $PackageNames.Count; $i++) {
180-
if ($packages[$i].name -ne $PackageNames[$i]) {
181-
$orderMatches = $false
182-
break
183-
}
184-
}
185-
186-
if (!$orderMatches) {
187-
Write-Host "Expected order: $($packages.name -join ', ')"
188-
Write-Host "Provided order: $($PackageNames -join ', ')"
189-
Write-Error "The order of packages in -PackageNames does not match the required build order."
190-
exit 1
191-
}
192178
}
193179

194180
Write-Host "Building packages in the following order:"
@@ -198,6 +184,12 @@ try {
198184
Write-Host " $packageName ($type)"
199185
}
200186

187+
if ($OutBuildOrderFile) {
188+
$buildOrder = ConvertTo-Json $packages.name
189+
Write-Host "Writing build order to $OutBuildOrderFile ($buildOrder)"
190+
$buildOrder | Out-File -FilePath $OutBuildOrderFile -Encoding utf8 -Force
191+
}
192+
201193
foreach ($package in $packages) {
202194
Write-Host ""
203195

0 commit comments

Comments
 (0)