Repository navigation
SBOM representation for various usecases #1123
Replies: 3 comments
|
Maybe the Java/Maven/Gradle community can help? |
|
In Gradle plugin we keep one component in I am not claiming that it is the correct thing for all scenarios, but so far we received no complaints from users so far. |
|
Answering both from the 1.7 schema text, since that's what tools validate against. 1. Same component, multiple locations. If the copies are really the same thing (same purl, same hashes), define it once and list the paths in 2. a.jar inside HBase and elsewhere. Nesting and
The catch is that "components": [
{ "bom-ref": "hbase", "name": "hbase", "version": "2.x", "purl": "pkg:maven/..." },
{ "bom-ref": "a-1.0", "name": "a", "version": "1.0", "purl": "pkg:maven/.../a@1.0",
"hashes": [{ "alg": "SHA-256", "content": "..." }],
"evidence": { "occurrences": [
{ "location": "hbase/lib/a.jar" },
{ "location": "lib/a.jar" }
]}
}
],
"dependencies": [
{ "ref": "product", "dependsOn": ["hbase", "a-1.0"] },
{ "ref": "hbase", "dependsOn": ["a-1.0"] }
]( If you need the assembly view (for example, to show that HBase ships a.jar), you can nest a copy under HBase. It then needs a different |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
If the same component occurs in multiple locations within an application/package, should we define the component only once in the components section and represent all its occurrences/locations within that component (for example, using multiple locations), or should we create a separate component entry for each occurrence?
In the SBOM, HBase is represented as a separate component. In this scenario, should a.jar also be represented as a separate component with its own bom-ref, and should we specify a.jar as a dependency of HBase in the dependencies section?
Or, since a.jar is physically bundled inside HBase, should a.jar be represented as a nested component under HBase instead?
Also, if the same a.jar occurs at another location in the product, should both occurrences reference the same component definition, with the locations captured separately?
What is the recommended CycloneDX representation for this scenario?
All reactions