MCPcopy Index your code
hub / github.com/linuxkit/linuxkit / createPackageResolver

Function createPackageResolver

src/cmd/linuxkit/buildtemplate.go:17–47  ·  view source on GitHub ↗
(baseDir string)

Source from the content-addressed store, hash-verified

15)
16
17func createPackageResolver(baseDir string) spec.PackageResolver {
18 return func(pkgTmpl string) (tag string, err error) {
19 var pkgValue string
20 switch {
21 case len(pkgTmpl) == 0, pkgTmpl[0:1] != templateFlag:
22 pkgValue = pkgTmpl
23 case strings.HasPrefix(pkgTmpl, templateFlag+templatePkg):
24 pkgPath := strings.TrimPrefix(pkgTmpl, templateFlag+templatePkg)
25 piBase := pkglib.NewPkgInfo()
26
27 var pkgs []pkglib.Pkg
28 pkgConfig := pkglib.PkglibConfig{
29 BuildYML: defaultPkgBuildYML,
30 HashCommit: defaultPkgCommit,
31 Tag: piBase.Tag,
32 }
33 pkgs, err = pkglib.NewFromConfig(pkgConfig, path.Join(baseDir, pkgPath))
34 if err != nil {
35 return tag, err
36 }
37 if len(pkgs) == 0 {
38 return tag, fmt.Errorf("no packages found")
39 }
40 if len(pkgs) > 1 {
41 return tag, fmt.Errorf("multiple packages found")
42 }
43 pkgValue = pkgs[0].FullTag()
44 }
45 return pkgValue, nil
46 }
47}

Callers 1

buildCmdFunction · 0.85

Calls 1

FullTagMethod · 0.80

Tested by

no test coverage detected