func (b PkgBuilder) WithRequires(reqs ...string) PkgBuilder {
	b.result.Requires = reqs
	return b
}
WithRequires sets the required dependencies
package manifesttest
import (
	"github.com/cashapp/hermit/platform"
	"io/fs"
	"time"
	"github.com/cashapp/hermit/envars"
	"github.com/cashapp/hermit/manifest"
)
type PkgBuilder struct {
	result *manifest.Package
}
func NewPkgBuilder(root string) PkgBuilder {
	ref := manifest.Reference{
		Name:    "test",
		Version: manifest.Version{},
	}
	return PkgBuilder{
		&manifest.Package{
			Reference: ref,
			Binaries:  []string{"darwin_exe", "linux_exe"},
			Root:      root,
			Dest:      root,
			Triggers:  map[manifest.Event][]manifest.Action{},
			State:     manifest.PackageStateRemote,
			Files:     []*manifest.ResolvedFileRef{},
		},
	}
}
func (b PkgBuilder) Result() *manifest.Package {
	return b.result
}
func (b PkgBuilder) WithName(name string) PkgBuilder {
	b.result.Reference.Name = name
	return b
}
func (b PkgBuilder) WithVersion(version string) PkgBuilder {
	b.result.Reference.Version = manifest.ParseVersion(version)
	return b
}
func (b PkgBuilder) WithChannel(name string) PkgBuilder {
	b.result.Reference.Channel = name
	return b
}
func (b PkgBuilder) WithDest(dst string) PkgBuilder {
	b.result.Dest = dst
	return b
}
func (b PkgBuilder) WithBinaries(bins ...string) PkgBuilder {
	b.result.Binaries = bins
	return b
}
func (b PkgBuilder) WithSource(src string) PkgBuilder {
	b.result.Source = src
	return b
}
func (b PkgBuilder) WithWarnings(warnings ...string) PkgBuilder {
	b.result.Warnings = warnings
	return b
}
func (b PkgBuilder) WithSHA256(sha string) PkgBuilder {
	b.result.SHA256 = sha
	return b
}
func (b PkgBuilder) WithUpdateInterval(dur time.Duration) PkgBuilder {
	b.result.UpdateInterval = dur
	return b
}
func (b PkgBuilder) WithFile(src, dst string, fs fs.FS) PkgBuilder {
	b.result.Files = append(b.result.Files, &manifest.ResolvedFileRef{
		FS:       fs,
		FromPath: src,
		ToPAth:   dst,
	})
	return b
}
func (b PkgBuilder) WithTrigger(event manifest.Event, actions ...manifest.Action) PkgBuilder {
	b.result.Triggers[event] = append(b.result.Triggers[event], actions...)
	return b
}
func (b PkgBuilder) WithEnvOps(ops ...envars.Op) PkgBuilder {
	b.result.Env = append(b.result.Env, ops...)
	return b
}
func (b PkgBuilder) WithFS(fs fs.FS) PkgBuilder {
	b.result.FS = fs
	return b
}