| 
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