Sbom command
Generates a Software Bill of Materials (SBOM) for a project or project group. By default the command emits CycloneDX 1.5 JSON for each enabled platform, SPDX 2.3 JSON is also available.
DPM packages are detected automatically. For non-DPM libraries the command relies on linker MAP files - make sure Linking > Map file = Detailed is enabled in the build configuration you point at, otherwise non-DPM dependencies will be missing from the SBOM.
Usage
dpm sbom [project] [options]
[project] is a .dproj or .groupproj and defaults to the current directory.
Options
Option |
Description |
|---|---|
outdir (-o) |
Output directory for SBOM files. Defaults to the project directory. |
format (-f) |
Comma-separated list of formats: |
platforms (-p) |
Comma-separated platforms to generate for. Default: all enabled in the project. |
config (-c) |
Build configuration to use when locating the MAP file. Default: |
map (-m) |
Path to a specific MAP file. Overrides auto-detection. Only valid for single-platform invocations. |
no-runtime |
Exclude the Delphi RTL / VCL / FMX component from the SBOM (included by default). |
strict |
Fail with a non-zero exit code if a MAP file is missing. Default: warn and emit a partial SBOM. |
per-project |
When the input is a |
Examples
dpm sbom .\MyProject.dproj
dpm sbom .\MyProject.dproj -outdir=c:\temp -format=cyclonedx
dpm sbom .\MyProject.dproj -format=html,markdown
dpm sbom .\MyProject.dproj -format=all
dpm sbom .\MyProject.dproj -platforms=Win32,Win64 -config=Release
dpm sbom .\MySolution.groupproj
dpm sbom .\MySolution.groupproj -per-project