Add CycloneDX decoder (#811)

This commit is contained in:
Keith Zantow
2022-02-18 11:19:02 -05:00
committed by GitHub
parent 4b16737b2f
commit 20c1d14f6e
34 changed files with 1027 additions and 66 deletions
-21
View File
@@ -1,21 +0,0 @@
package rust
import "github.com/anchore/syft/syft/pkg"
type CargoMetadata struct {
Packages []pkg.CargoPackageMetadata `toml:"package"`
}
// Pkgs returns all of the packages referenced within the Cargo.lock metadata.
func (m CargoMetadata) Pkgs() []*pkg.Package {
pkgs := make([]*pkg.Package, 0)
for _, p := range m.Packages {
if p.Dependencies == nil {
p.Dependencies = make([]string, 0)
}
pkgs = append(pkgs, p.Pkg())
}
return pkgs
}
+1 -1
View File
@@ -20,7 +20,7 @@ func parseCargoLock(_ string, reader io.Reader) ([]*pkg.Package, []artifact.Rela
return nil, nil, fmt.Errorf("unable to load Cargo.lock for parsing: %v", err)
}
metadata := CargoMetadata{}
metadata := pkg.CargoMetadata{}
err = tree.Unmarshal(&metadata)
if err != nil {
return nil, nil, fmt.Errorf("unable to parse Cargo.lock: %v", err)