cmd/packages.go (36 lines of code) (raw):

package cmd import ( "fmt" "os" obom "github.com/Azure/obom/pkg" "github.com/spf13/cobra" ) type packagesOptions struct { filename string } func packagesCmd() *cobra.Command { var opts packagesOptions var packagesCmd = &cobra.Command{ Use: "packages", Short: "List packages the SBOM", Long: `List packages the SBOM that have external refs`, Run: func(cmd *cobra.Command, args []string) { sbom, _, _, err := obom.LoadSBOMFromFile(opts.filename, true) if err != nil { fmt.Println("Error loading SBOM:", err) os.Exit(1) } packages, err := obom.GetPackages(sbom.Document) if err != nil { fmt.Println("Error getting packages:", err) os.Exit(1) } for _, pkg := range packages { fmt.Println(pkg) } }, } packagesCmd.Flags().StringVarP(&opts.filename, "file", "f", "", "Path to the SPDX SBOM file") packagesCmd.MarkFlagRequired("file") return packagesCmd }