anchore / anchore/syft

Refactor Java metadata: use top-level maven metadata & deprecate scope from PomProperties

Open
#3,377 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
9.6k
Forks
954
Avg merge
23h 27m
Merged PRs (30d)
48

Description

Today, when scanning a source repository, including resolving packages from Maven `pom.xml`, Syft uses the metadata type `pkg.JavaArchive`, which is not really representative of what was scanned. These could perhaps use `JavaPomProject` as the top-level metadata.

Additionally, the dependency `scope` is being captured in `JavaPomProperties`, which is not the correct spot for this information -- it should be part of the _relationship_, but this is not being tracked as any part of the relationship today.

Contributor guide

Open the contributing guide

Research direction

Start at source-repository scanning and Maven pom.xml resolution, then locate the metadata definitions for JavaArchive, JavaPomProject, and JavaPomProperties. Determine how dependency relationships are represented and define completion as using top-level Maven metadata while moving scope out of PomProperties into the relationship model.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, java
Domain
cli, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.