| package manager | |
| import "os/exec" | |
| // Candidate represents a possible plugin candidate, for mocking purposes | |
| type Candidate interface { | |
| Path() string | |
| Metadata() ([]byte, error) | |
| } | |
| type candidate struct { | |
| path string | |
| } | |
| func (c *candidate) Path() string { | |
| return c.path | |
| } | |
| func (c *candidate) Metadata() ([]byte, error) { | |
| return exec.Command(c.path, MetadataSubcommandName).Output() // #nosec G204 -- ignore "Subprocess launched with a potential tainted input or cmd arguments" | |
| } |