-
Notifications
You must be signed in to change notification settings - Fork 595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Java dependency graph information #3363
feat: Java dependency graph information #3363
Conversation
Signed-off-by: Keith Zantow <[email protected]>
416abdd
to
0bb3031
Compare
Signed-off-by: Keith Zantow <[email protected]>
Signed-off-by: Keith Zantow <[email protected]>
Signed-off-by: Keith Zantow <[email protected]>
PomProperties: &pkg.JavaPomProperties{ | ||
GroupID: id.GroupID, | ||
ArtifactID: id.ArtifactID, | ||
Scope: r.ResolveProperty(ctx, pom, dep.Scope), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PomProperties has the scope
? This doesn't seem right, but this was the existing behavior.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agreed -- we should make a syft 2.0 for this and mark the field as deprecated. There is a discussion in #572 on how to mark dev/test deps on edges, but for now we've elected to not track these.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
Signed-off-by: Keith Zantow <[email protected]>
Description
This PR implements dependency graph information for Java packages. This applies primarily to these scenarios:
For example: a user scanning a
.war
file with multiple embedded.jar
files, the topmost package representing the.war
file will have dependency relationships from the specific packages surfaced from the included.jar
files.Additionally, this PR includes a refactoring the internal Maven resolver functionality to an internal package to provide clearer boundaries of usage vs. internal methods.
Type of change
Checklist: