|
18 | 18 | image: $(LINUXVMIMAGE)
|
19 | 19 | os: linux
|
20 | 20 |
|
21 |
| - variables: |
22 |
| - # Only require dependency correctness in manual builds |
23 |
| - RequireDependencies: ${{ in(variables['Build.Reason'], 'Manual', '') }} |
24 |
| - |
25 | 21 | steps:
|
26 | 22 | - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml
|
27 | 23 | parameters:
|
|
71 | 67 | -PackageInfoDirectory '$(Build.ArtifactStagingDirectory)/PackageInfo'
|
72 | 68 |
|
73 | 69 | - ${{ else }}:
|
| 70 | + - pwsh: | |
| 71 | + $artifacts = '${{ toJson(parameters.Artifacts) }}' | ConvertFrom-Json |
| 72 | + $requireDependencies = $true |
| 73 | + $artifactsToBuild = $artifacts | Where-Object { $_.releaseInBatch } |
| 74 | + |
| 75 | + if (!$artifactsToBuild) { |
| 76 | + Write-Host "No packages to release. Building all packages in the service directory with no dependency validation." |
| 77 | + $artifactsToBuild = $artifacts |
| 78 | + $requireDependencies = $false |
| 79 | + } |
| 80 | +
|
| 81 | + $packageNames = $artifactsToBuild.name -join ',' |
| 82 | +
|
| 83 | + Write-Host "##vso[task.setvariable variable=PackageNames]$packageNames" |
| 84 | + Write-Host "##vso[task.setvariable variable=RequireDependencies]$requireDependencies" |
| 85 | + |
| 86 | + displayName: Create package list |
| 87 | +
|
74 | 88 | - task: Powershell@2
|
75 | 89 | displayName: "Pack Crates"
|
76 | 90 | condition: and(succeeded(), ne(variables['NoPackagesChanged'],'true'))
|
|
79 | 93 | filePath: $(Build.SourcesDirectory)/eng/scripts/Pack-Crates.ps1
|
80 | 94 | arguments: >
|
81 | 95 | -OutputPath '$(Build.ArtifactStagingDirectory)'
|
82 |
| - -PackageNames ${{ join(',', parameters.Artifacts.*.name) }} |
| 96 | + -PackageNames $(PackageNames) |
83 | 97 | -RequireDependencies:$$(RequireDependencies)
|
84 | 98 |
|
85 | 99 | # TODO: Ensure APIView works given a change to the crates output folder structure
|
|
0 commit comments