Comments (4)
@stevespringett I've got most of this working and will submit a PR soon. For the component
section the code needs to decide whether it's dealing with a library or application. This is a bit tricky, since a crate can contain both. For now, I've gone down the path of "if it has a binary target, it's an application", since I'd expect that to be the default that someone would want. Please let me know if there's a better way.
from cyclonedx-rust-cargo.
@TedDriggs I think that's a reasonable approach.
from cyclonedx-rust-cargo.
Was a plan for cargo workspaces ever designed/implemented?
At my company all of our code lives in a single giant workspace. We want to produce a SBOM for certain crates that are distributed to our customers, but there are other crates that are not redistributed and pull in their own dependencies that we would prefer not to include (both to ensure that we're providing our customers with only relevant information and to avoid leaking implementation details of nonredistributed binaries).
from cyclonedx-rust-cargo.
As far as I read this what's missing is better handling of packages with multiple targets (e.g. library and binary) for which a draft PR is up. It will almost certainly not be merged in its current form but it's something we'll work on.
@khuey If you're still interested in this issue please ping here. I'm not 100% sure I understand what you're looking for. This will work with workspaces and it will create a BOM for all of them by default. There is no way to skip a workspace member right now but that shouldn't hurt as you don't have to distribute that bom?
from cyclonedx-rust-cargo.
Related Issues (20)
- Download crates in parallel HOT 1
- Ship 0.4.0 HOT 1
- SBOM configuration via `Cargo.toml` appears harmful HOT 2
- Allow emitting SBOM for a specific platform
- Include information on dependency origin (crates.io, git, custom registry) HOT 1
- `bom-ref` field is not actually unique
- Allow selecting Cargo features: `--no-default-features`, `--all-features`, `--features=...`
- Reproducible SBOMs
- Include hashes for components HOT 2
- `cargo cyclonedx` v0.4.0 release checklist HOT 1
- Record the target platform in the SBOM
- Don't log non-fatal issues as errors
- Capture data only available during the build process HOT 3
- Add support for `cargo binstall` HOT 8
- Add a "-V" / "--version" flag to print the current version
- Make bom-ref use relative paths for workspace items as well HOT 6
- Provide an easy way to map an artifact to a SBOM
- Present `cargo metadata` output to the user even when there are no errors
- Use a license id or name instead of an expression if there is only one license
- Support `license-file`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cyclonedx-rust-cargo.