Documentation
¶
Overview ¶
Package bufos provides abstractions to read and write images from an OS context.
This is primarily meant for the CLI tool, and isn't used in a service context.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllFormatsToString ¶
func AllFormatsToString() string
AllFormatsToString returns all format strings.
func ImageFormatsToString ¶
func ImageFormatsToString() string
ImageFormatsToString returns image format strings.
func SourceFormatsToString ¶
func SourceFormatsToString() string
SourceFormatsToString returns source format strings.
Types ¶
type Env ¶
type Env struct {
// Image is the image to use.
Image bufpb.Image
// Resolver is the resolver to apply before printing paths or annotations.
// Can be nil.
Resolver bufbuild.ProtoFilePathResolver
// Config is the config to use.
Config *bufconfig.Config
}
Env is an environment.
type EnvReader ¶
type EnvReader interface {
// ReadEnv reads an environment.
//
// If specificFilePaths is empty, this builds all the files under Buf control.
//
// Note that includeImports will only be respected for Images if the image was
// built with buf - if it was built with protoc, we have no way of detecting
// what is and isn't an import.
//
// Note that includeSourceInfo will only be respected for Sources. We make
// no modifications for Images.
//
// Annotations will be fixed per the resolver before returning.
// If stdin is nil and this tries to read from stdin, returns user error.
ReadEnv(
ctx context.Context,
stdin io.Reader,
value string,
configOverride string,
specificFilePaths []string,
specificFilePathsAllowNotExist bool,
includeImports bool,
includeSourceInfo bool,
) (*Env, []*analysis.Annotation, error)
// ReadSourceEnv reads an source environment.
//
// This is the same as ReadEnv but disallows image values and always builds.
ReadSourceEnv(
ctx context.Context,
stdin io.Reader,
value string,
configOverride string,
specificFilePaths []string,
specificFilePathsAllowNotExist bool,
includeImports bool,
includeSourceInfo bool,
) (*Env, []*analysis.Annotation, error)
// ReadImageEnv reads an source environment.
//
// This is the same as ReadEnv but disallows source values and never builds.
// specificFilePaths are always allowed to not exist.
// TODO: add filter?
ReadImageEnv(
ctx context.Context,
stdin io.Reader,
value string,
configOverride string,
specificFilePaths []string,
specificFilePathsAllowNotExist bool,
includeImports bool,
) (*Env, error)
// ListFiles lists the files.
ListFiles(
ctx context.Context,
stdin io.Reader,
value string,
configOverride string,
) ([]string, error)
// GetConfig gets the config.
GetConfig(
ctx context.Context,
configOverride string,
) (*bufconfig.Config, error)
}
EnvReader is an env reader.
type ImageWriter ¶
type ImageWriter interface {
// WriteImage 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.
WriteImage(
ctx context.Context,
stdout io.Writer,
value string,
asFileDescriptorSet bool,
image bufpb.Image,
) error
}
ImageWriter is an image writer.
func NewImageWriter ¶
func NewImageWriter( logger *zap.Logger, valueFlagName string, ) ImageWriter
NewImageWriter returns a new ImageWriter.
Click to show internal directories.
Click to hide internal directories.