-
Notifications
You must be signed in to change notification settings - Fork 587
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
feat: Java dependency graph information #3363
feat: Java dependency graph information #3363
Conversation
Signed-off-by: Keith Zantow <kzantow@gmail.com>
416abdd
to
0bb3031
Compare
Signed-off-by: Keith Zantow <kzantow@gmail.com>
Signed-off-by: Keith Zantow <kzantow@gmail.com>
Signed-off-by: Keith Zantow <kzantow@gmail.com>
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 <kzantow@gmail.com>
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: