-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerate-sbom.sh
More file actions
executable file
·32 lines (25 loc) · 1 KB
/
Copy pathgenerate-sbom.sh
File metadata and controls
executable file
·32 lines (25 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env bash
#
# Generates a CycloneDX Software Bill of Materials (SBOM) for the library project.
#
# The SBOM lists every NuGet dependency (direct and transitive) with versions, so adopters
# and auditors can review the exact supply chain of a build. Output is written to sbom/ as
# JSON and is intentionally git-ignored — regenerate it per release/commit rather than
# committing a stale artifact.
#
# Usage: ./scripts/generate-sbom.sh
# Requires: .NET SDK and network access on first run (to restore the CycloneDX tool).
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"
PROJECT="src/PostQuantum.EntityFrameworkCore/PostQuantum.EntityFrameworkCore.csproj"
OUT_DIR="sbom"
echo "Restoring local tools (CycloneDX)…"
dotnet tool restore
mkdir -p "$OUT_DIR"
echo "Generating CycloneDX SBOM for $PROJECT…"
dotnet dotnet-CycloneDX "$PROJECT" \
--output "$OUT_DIR" \
--output-format json \
--filename sbom.cdx.json
echo "SBOM written to $OUT_DIR/sbom.cdx.json"