source

package
v0.0.0-...-b2fc017 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrPluginCycle = errors.New("plugin cycle detected")

Functions

func NewRegistryClient

func NewRegistryClient(remote string, authToken string) (*registryClient, error)

Types

type Bundle

type Bundle interface {
	DebugName() string
	J5Config() (*config_j5pb.BundleConfigFile, error)
	SourceImage(ctx context.Context, resolver InputSource) (*source_j5pb.SourceImage, error)
	DirInRepo() string
	FS() fs.FS
	GetDependencies(ctx context.Context, resolver InputSource) (DependencySet, error)
}

type DependencySet

type DependencySet interface {
	GetDependencyFile(filename string) (*descriptorpb.FileDescriptorProto, error)
	ListDependencyFiles(prefix string) []string
	AllDependencyFiles() ([]*descriptorpb.FileDescriptorProto, []string)
}

type InputSource

type InputSource interface {
	GetSourceImage(ctx context.Context, input *config_j5pb.Input) (*source_j5pb.SourceImage, error)
}

type RegistryClient

type RegistryClient interface {
	GetImage(ctx context.Context, owner, repoName, version string) (*source_j5pb.SourceImage, error)
	LatestImage(ctx context.Context, owner, repoName string, reference *string) (*source_j5pb.SourceImage, error)
}

type RemoteResolver

type RemoteResolver interface {
	GetRemoteDependency(ctx context.Context, input *config_j5pb.Input, locks *config_j5pb.LockFile) (*source_j5pb.SourceImage, error)
	LatestLocks(ctx context.Context, deps []*config_j5pb.Input) (*config_j5pb.LockFile, error)
}

RemoteResolver fetches, locks and caches dependencies from buf and j5

type RepoRoot

type RepoRoot struct {
	// contains filtered or unexported fields
}

func NewFSRepoRoot

func NewFSRepoRoot(ctx context.Context, root fs.FS, resolver RemoteResolver) (*RepoRoot, error)

func (RepoRoot) AllBundles

func (src RepoRoot) AllBundles() []*bundleSource

func (*RepoRoot) BundleDependencies

func (src *RepoRoot) BundleDependencies(ctx context.Context, name string) (DependencySet, error)

func (*RepoRoot) BundleImageSource

func (src *RepoRoot) BundleImageSource(ctx context.Context, name string) (*source_j5pb.SourceImage, *config_j5pb.BundleConfigFile, error)

func (*RepoRoot) BundleSource

func (src *RepoRoot) BundleSource(name string) (*bundleSource, error)

func (*RepoRoot) CombinedSourceImage

func (src *RepoRoot) CombinedSourceImage(ctx context.Context, inputs []*config_j5pb.Input) (*source_j5pb.SourceImage, error)

func (*RepoRoot) GetSourceImage

func (src *RepoRoot) GetSourceImage(ctx context.Context, input *config_j5pb.Input) (*source_j5pb.SourceImage, error)

func (*RepoRoot) ListAllDependencies

func (src *RepoRoot) ListAllDependencies() ([]*config_j5pb.Input, error)

func (RepoRoot) RepoConfig

func (src RepoRoot) RepoConfig() *config_j5pb.RepoConfigFile

func (*RepoRoot) SourceFile

func (src *RepoRoot) SourceFile(ctx context.Context, filename string) ([]byte, error)

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

func NewEnvResolver

func NewEnvResolver() (*Resolver, error)

func NewResolver

func NewResolver(regClient RegistryClient) (*Resolver, error)

func (*Resolver) GetRemoteDependency

func (rr *Resolver) GetRemoteDependency(ctx context.Context, input *config_j5pb.Input, locks *config_j5pb.LockFile) (*source_j5pb.SourceImage, error)

func (*Resolver) LatestLocks

func (src *Resolver) LatestLocks(ctx context.Context, deps []*config_j5pb.Input) (*config_j5pb.LockFile, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL