Documentation
¶
Overview ¶
Package bufwire wires everything together.
TODO: This package should be split up into individual functionality.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FileLister ¶
type FileLister interface {
// ListFiles lists the files.
//
// If includeImports is set, the ref is built, which can result in FileAnnotations.
// There is no defined returned sorting order. If you need the FileInfos to
// be sorted, do so with bufmoduleref.SortFileInfos or bufmoduleref.SortFileInfosByExternalPath.
ListFiles(
ctx context.Context,
container app.EnvStdinContainer,
ref buffetch.Ref,
configOverride string,
includeImports bool,
) ([]bufmoduleref.FileInfo, []bufanalysis.FileAnnotation, error)
}
FileLister lists files.
func NewFileLister ¶
func NewFileLister( logger *zap.Logger, storageosProvider storageos.Provider, fetchReader buffetch.Reader, moduleBucketBuilder bufmodulebuild.ModuleBucketBuilder, moduleFileSetBuilder bufmodulebuild.ModuleFileSetBuilder, imageBuilder bufimagebuild.Builder, ) FileLister
NewFileLister returns a new FileLister.
type ImageConfig ¶
ImageConfig is an image and configuration.
type ImageConfigReader ¶
type ImageConfigReader interface {
// GetImageConfigs gets the ImageConfig for the fetch value.
//
// If externalDirOrFilePaths is empty, this builds all files under Buf control.
GetImageConfigs(
ctx context.Context,
container app.EnvStdinContainer,
ref buffetch.Ref,
configOverride string,
externalDirOrFilePaths []string,
externalExcludeDirOrFilePaths []string,
externalDirOrFilePathsAllowNotExist bool,
excludeSourceCodeInfo bool,
) ([]ImageConfig, []bufanalysis.FileAnnotation, error)
}
ImageConfigReader is an ImageConfig reader.
func NewImageConfigReader ¶
func NewImageConfigReader( logger *zap.Logger, storageosProvider storageos.Provider, fetchReader buffetch.Reader, moduleBucketBuilder bufmodulebuild.ModuleBucketBuilder, moduleFileSetBuilder bufmodulebuild.ModuleFileSetBuilder, imageBuilder bufimagebuild.Builder, ) ImageConfigReader
NewImageConfigReader returns a new ImageConfigReader.
type ImageReader ¶
type ImageReader interface {
// GetImage reads the image from the value.
GetImage(
ctx context.Context,
container app.EnvStdinContainer,
imageRef buffetch.ImageRef,
externalDirOrFilePaths []string,
externalExcludeDirOrFilePaths []string,
externalDirOrFilePathsAllowNotExist bool,
excludeSourceCodeInfo bool,
) (bufimage.Image, error)
}
ImageReader is an image reader.
func NewImageReader ¶
func NewImageReader( logger *zap.Logger, fetchReader buffetch.ImageReader, ) ImageReader
NewImageReader returns a new ImageReader.
type ImageWriter ¶
type ImageWriter interface {
// PutImage writes the image to the value.
//
// The file must be an image format.
// This is a no-np if value is the equivalent of /dev/null.
PutImage(
ctx context.Context,
container app.EnvStdoutContainer,
imageRef buffetch.ImageRef,
image bufimage.Image,
asFileDescriptorSet bool,
excludeImports bool,
) error
}
ImageWriter is an image writer.
func NewImageWriter ¶
func NewImageWriter( logger *zap.Logger, fetchWriter buffetch.Writer, ) ImageWriter
NewImageWriter returns a new ImageWriter.
type ModuleConfig ¶
type ModuleConfig interface {
Module() bufmodule.Module
Config() *bufconfig.Config
Workspace() bufmodule.Workspace
}
ModuleConfig is an module and configuration.
type ModuleConfigReader ¶
type ModuleConfigReader interface {
// GetModuleConfigs gets the ModuleConfig for the fetch value.
//
// If externalDirOrFilePaths is empty, this builds all files under Buf control.
//
// Note that as opposed to ModuleReader, this will return a Module for either
// a source or module reference, not just a module reference.
GetModuleConfigs(
ctx context.Context,
container app.EnvStdinContainer,
sourceOrModuleRef buffetch.SourceOrModuleRef,
configOverride string,
externalDirOrFilePaths []string,
externalExcludeDirOrFilePaths []string,
externalDirOrFilePathsAllowNotExist bool,
) ([]ModuleConfig, error)
}
ModuleConfigReader is a ModuleConfig reader.
func NewModuleConfigReader ¶
func NewModuleConfigReader( logger *zap.Logger, storageosProvider storageos.Provider, fetchReader buffetch.Reader, moduleBucketBuilder bufmodulebuild.ModuleBucketBuilder, ) ModuleConfigReader
NewModuleConfigReader returns a new ModuleConfigReader
type ProtoEncodingWriter ¶ added in v1.0.0
type ProtoEncodingWriter interface {
// PutMessage writes the message to the path, which can be
// a path in file system, or stdout represented by "-".
//
// Currently, this only support json format.
PutMessage(
ctx context.Context,
container app.EnvStdoutContainer,
image bufimage.Image,
message proto.Message,
path string,
) error
}
ProtoEncodingWriter is a writer that writes a protobuf message in different encoding (e.g. JSON).
func NewProtoEncodingWriter ¶ added in v1.0.0
func NewProtoEncodingWriter( logger *zap.Logger, fetchWriter buffetch.Writer, ) ProtoEncodingWriter
NewProtoEncodingWriter returns a new ProtoEncodingWriter.