-
Notifications
You must be signed in to change notification settings - Fork 598
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
Versions not printed out properly from maven pom.xml #1251
Comments
I'm happy to close the issue as redundant. Also, will try to get in and see if I can get a PR that gets it working as a fix to #1129 |
A PR would be amazing! Let us know if we can help with anything, and feel free to drop by the Slack to discuss with the team. |
Related to this, Syft generates a malformed "purl" which does not parse as a URI. I believe the dollar sign in these version strings are not being uri/percent-encoded when generating the "purl" string. |
Yeah that would make sense. Minimally if we see a Also, I've been thinking about how we get transitive dependencies for a project because currently we're only getting what's declared in the pom, and that's only a portion of the dependencies of the project. |
The within-the-same-pom property resolution should not be especially hard to do, if we're not doing that already. I've implemented something that did this for a project many years ago. The problem is if the properties come from a parent pom. There are a few ways to get transitive and parent dependencies I can think of:
It should also be noted we take the 3rd option approach to find additional information, if it's on disk for Node projects, which also requires running an install before Syft to get richer data. Any thoughts here? |
The only other option I can think of is to make a maven contribution that leaves a dependency:tree or dependency:build-classpath output in the target directory. I'm not opposed to trying this path if need be. Otherwise I would think we'd likely go for option 2 from your list. |
Signed-off-by: Rob Tompkins <chtompki@apache.org>
Signed-off-by: Rob Tompkins <chtompki@apache.org>
Signed-off-by: Rob Tompkins <chtompki@apache.org>
Signed-off-by: Rob Tompkins <chtompki@apache.org>
With the current PR (#1278) for this the output is:
Note: |
Note, I would love to help with submitting fixes here if possible. Though I don't know your codebase all that well, so I might need a little direction.
What happened:
When I run
syft .
on the Apache Projectcommons-text
(note this is after having runmvn clean install
), I get the following output fromsyft
:What you expected to happen:
How to reproduce it (as minimally and precisely as possible): Running syft on any maven java project where in the pom.xml, the versions are declared in the properties section as opposed to directly in
<version></version>
line of the dependency declaration.Anything else we need to know?: I think this was working in version 48 of
syft
, and now isn't. Also worth noting ismvn dependency:tree
generates a vastly different list of dependencies.Environment:
syft version
: 0.58.0cat /etc/os-release
or similar): MacOS 12.6The text was updated successfully, but these errors were encountered: