A Software Bill of Materials (software BOM) is a list of components in a piece of software. Software vendors often create products by assembling open source and commercial software components. The software BOM describes the components in a product. It is analogous to a list of ingredients on food packaging.
Source: Wikipedia
This tool (cargo bom
) can be used to construct Bill of Materials for software
using Cargo package manager.
The output of cargo bom
has two sections. First it prints out a table with all
top level dependencies, version numbers and names of licenses. Then it prints
all license texts found from depended projects (files matching globs "LICENSE"
and "UNLICENSE").
```console $ cargo bom >BOM.txt $ head BOM.txt ┌───────────┬─────────┬─────────────────┐ │ Name │ Version │ Licenses │ ├───────────┼─────────┼─────────────────┤ │ anyhow │ 1.0.68 │ Apache-2.0, MIT │ ├───────────┼─────────┼─────────────────┤ │ cargo │ 0.67.0 │ Apache-2.0, MIT │ ├───────────┼─────────┼─────────────────┤ │ itertools │ 0.10.5 │ Apache-2.0, MIT │ ├───────────┼─────────┼─────────────────┤ │ structopt │ 0.3.26 │ Apache-2.0, MIT │
```
In Windows the output to file can be written via the following PowerShell command:
powershell
cargo bom | Out-File -FilePath BOM.txt -Encoding oem
The Bill of Materials for this project can be found from BOM.txt.
cargo bom
is distributed under the terms of the MIT license.
See LICENSE for details.