/
githubmirror
/
trivy
Обзор
Документация
Войти
/
githubmirror
/
trivy
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
pkg/dependency/parser/conda/meta/parse.go
47 строк
1 KB
DmitriyLewen
fix: use context for analyzers (#9538)
14 окт 2025, 08:13
Не верифицирован
14 окт 2025, 08:13
b885d3a
Код
Авторство
О чём код?
package meta import ( "context" "encoding/json" "golang.org/x/xerrors" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/licensing" xio "github.com/aquasecurity/trivy/pkg/x/io" ) type packageJSON struct { Name string `json:"name"` Version string `json:"version"` License string `json:"license"` } type Parser struct{} func NewParser() *Parser { return &Parser{} } // Parse parses Anaconda (a.k.a. conda) environment metadata. // e.g. <conda-root>/envs/<env>/conda-meta/<package>.json // For details see https://conda.io/projects/conda/en/latest/user-guide/concepts/environments.html func (p *Parser) Parse(_ context.Context, r xio.ReadSeekerAt) ([]ftypes.Package, []ftypes.Dependency, error) { var data packageJSON err := json.NewDecoder(r).Decode(&data) if err != nil { return nil, nil, xerrors.Errorf("JSON decode error: %w", err) } if data.Name == "" || data.Version == "" { return nil, nil, xerrors.Errorf("unable to parse conda package") } return []ftypes.Package{ { Name: data.Name, Version: data.Version, Licenses: licensing.SplitLicenses(data.License), }, }, nil, nil }