xref: /aosp_15_r20/external/skia/infra/bots/deps/deps.go (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker// Copyright 2024 Google LLC
2*c8dee2aaSAndroid Build Coastguard Worker//
3*c8dee2aaSAndroid Build Coastguard Worker// Use of this source code is governed by a BSD-style license that can be
4*c8dee2aaSAndroid Build Coastguard Worker// found in the LICENSE file.
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker//go:generate bazelisk run //:go -- run ./generate.go
7*c8dee2aaSAndroid Build Coastguard Workerpackage deps
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerimport (
10*c8dee2aaSAndroid Build Coastguard Worker	"go.skia.org/infra/go/depot_tools/deps_parser"
11*c8dee2aaSAndroid Build Coastguard Worker	"go.skia.org/infra/go/skerr"
12*c8dee2aaSAndroid Build Coastguard Worker)
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard Worker// Get retrieves the given dependency. Returns an error of the given dependency
15*c8dee2aaSAndroid Build Coastguard Worker// does not exist.
16*c8dee2aaSAndroid Build Coastguard Workerfunc Get(dep string) (*deps_parser.DepsEntry, error) {
17*c8dee2aaSAndroid Build Coastguard Worker	entry := deps.Get(dep)
18*c8dee2aaSAndroid Build Coastguard Worker	if entry == nil {
19*c8dee2aaSAndroid Build Coastguard Worker		return nil, skerr.Fmt("unknown dependency %q (normalized as %q)", dep, deps_parser.NormalizeDep(dep))
20*c8dee2aaSAndroid Build Coastguard Worker	}
21*c8dee2aaSAndroid Build Coastguard Worker	// Return a copy to prevent modification of the package-local entries.
22*c8dee2aaSAndroid Build Coastguard Worker	return &deps_parser.DepsEntry{
23*c8dee2aaSAndroid Build Coastguard Worker		Id:      entry.Id,
24*c8dee2aaSAndroid Build Coastguard Worker		Version: entry.Version,
25*c8dee2aaSAndroid Build Coastguard Worker		Path:    entry.Path,
26*c8dee2aaSAndroid Build Coastguard Worker	}, nil
27*c8dee2aaSAndroid Build Coastguard Worker}
28