msbuild
47 строк · 2.1 Кб
1# BuildDropPath - The root folder of the drop directory for which the manifest file will be generated.
2# PackageName - The name of the package this SBOM represents.
3# PackageVersion - The version of the package this SBOM represents.
4# ManifestDirPath - The path of the directory where the generated manifest files will be placed
5# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector.
6
7parameters:
8PackageVersion: 8.0.0
9BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
10PackageName: '.NET'
11ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
12IgnoreDirectories: ''
13sbomContinueOnError: true
14
15steps:
16- task: PowerShell@2
17displayName: Prep for SBOM generation in (Non-linux)
18condition: or(eq(variables['Agent.Os'], 'Windows_NT'), eq(variables['Agent.Os'], 'Darwin'))
19inputs:
20filePath: ./eng/common/generate-sbom-prep.ps1
21arguments: ${{parameters.manifestDirPath}}
22
23# Chmodding is a workaround for https://github.com/dotnet/arcade/issues/8461
24- script: |
25chmod +x ./eng/common/generate-sbom-prep.sh
26./eng/common/generate-sbom-prep.sh ${{parameters.manifestDirPath}}
27displayName: Prep for SBOM generation in (Linux)
28condition: eq(variables['Agent.Os'], 'Linux')
29continueOnError: ${{ parameters.sbomContinueOnError }}
30
31- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
32displayName: 'Generate SBOM manifest'
33continueOnError: ${{ parameters.sbomContinueOnError }}
34inputs:
35PackageName: ${{ parameters.packageName }}
36BuildDropPath: ${{ parameters.buildDropPath }}
37PackageVersion: ${{ parameters.packageVersion }}
38ManifestDirPath: ${{ parameters.manifestDirPath }}
39${{ if ne(parameters.IgnoreDirectories, '') }}:
40AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}'
41
42- task: 1ES.PublishPipelineArtifact@1
43displayName: Publish SBOM manifest
44continueOnError: ${{parameters.sbomContinueOnError}}
45inputs:
46targetPath: '${{parameters.manifestDirPath}}'
47artifactName: $(ARTIFACT_NAME)
48
49