add java virtual path

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
This commit is contained in:
Alex Goodman 2020-10-28 13:53:44 -04:00
parent cc466e47da
commit 76c8f24090
No known key found for this signature in database
GPG Key ID: 5CB45AE22BAB7EA7
2 changed files with 5 additions and 2 deletions

View File

@ -148,7 +148,8 @@ func (j *archiveParser) discoverMainPackage() (*pkg.Package, error) {
Type: pkg.JavaPkg, Type: pkg.JavaPkg,
MetadataType: pkg.JavaMetadataType, MetadataType: pkg.JavaMetadataType,
Metadata: pkg.JavaMetadata{ Metadata: pkg.JavaMetadata{
Manifest: manifest, VirtualPath: j.virtualPath,
Manifest: manifest,
}, },
}, nil }, nil
} }
@ -184,6 +185,7 @@ func (j *archiveParser) discoverPkgsFromPomProperties(parentPkg *pkg.Package) ([
Type: pkg.JavaPkg, Type: pkg.JavaPkg,
MetadataType: pkg.JavaMetadataType, MetadataType: pkg.JavaMetadataType,
Metadata: pkg.JavaMetadata{ Metadata: pkg.JavaMetadata{
VirtualPath: j.virtualPath,
PomProperties: propsObj, PomProperties: propsObj,
Parent: parentPkg, Parent: parentPkg,
}, },

View File

@ -4,6 +4,7 @@ import "github.com/package-url/packageurl-go"
// JavaMetadata encapsulates all Java ecosystem metadata for a package as well as an (optional) parent relationship. // JavaMetadata encapsulates all Java ecosystem metadata for a package as well as an (optional) parent relationship.
type JavaMetadata struct { type JavaMetadata struct {
VirtualPath string `json:"virtual-path"`
Manifest *JavaManifest `mapstructure:"Manifest" json:"manifest"` Manifest *JavaManifest `mapstructure:"Manifest" json:"manifest"`
PomProperties *PomProperties `mapstructure:"PomProperties" json:"pomProperties"` PomProperties *PomProperties `mapstructure:"PomProperties" json:"pomProperties"`
Parent *Package `json:"parentPackage"` // TODO: should this be included in the json output? Parent *Package `json:"parentPackage"` // TODO: should this be included in the json output?
@ -11,7 +12,7 @@ type JavaMetadata struct {
// PomProperties represents the fields of interest extracted from a Java archive's pom.xml file. // PomProperties represents the fields of interest extracted from a Java archive's pom.xml file.
type PomProperties struct { type PomProperties struct {
Path string Path string `mapstructure:"path" json:"path"`
Name string `mapstructure:"name" json:"name"` Name string `mapstructure:"name" json:"name"`
GroupID string `mapstructure:"groupId" json:"groupId"` GroupID string `mapstructure:"groupId" json:"groupId"`
ArtifactID string `mapstructure:"artifactId" json:"artifactId"` ArtifactID string `mapstructure:"artifactId" json:"artifactId"`