Replies: 2 comments 7 replies
-
@malice00 This is a great observation! With CycloneDX, we couldn't find an established way to represent the parent components hierarchy, so we devised a creative solution by working with another contributor to use metadata.component.components. I didn't realize it affected the dependency tree on the dependency track. Could you investigate further on this topic by doing the following?
Do you have a sample project or gradle dependencies output for multiple versions that illustrates the problem? You can join our discord and share the files directly via DM for private projects. |
Beta Was this translation helpful? Give feedback.
-
I just create PR #470, with some fixes for the current solution -- it fixes some issues with incorrect naming (group, name, version, bom-ref and purl) and therefore an incorrect dependency-tree. |
Beta Was this translation helpful? Give feedback.
-
I've been checking my Gadle SBOMs and testing with different versions of cdxgen. I noticed there is regressions for Gradle sub-projects in v9 of cdxgen.
It seems that sub-projects are now added as sub-components instead of actual components. This means that eg dependency-track is unable to correctly show the dependencies, as it apparently doesn't handle the sub-components.
My question is, if sub-projects should actually be added as normal components instead (as it was in v8) or if this is something dependency-track should change?
Side-note: I feel that the results of scanning my multi-module Gradle project actually gives me false results -- when I scan all projects, I get certain dependencies in multiple versions, which I think is wrong (I admit I still don't fully understand Gradle, but I compare it to Maven, which I do understand).
So, I prefer to 'only' scan my ':app'-module, which depends on all the other sub-projects and now I do only get a single version of my dependencies. Only problem now, is that the sub-projects are nowhere to be found in the SBOM at all, so the dependency-tree is incomplete!
I feel sub-projects and/or referenced projects should be handled the same as any other dependency and added as a component.
Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions