Documentation ¶
Index ¶
- Constants
- Variables
- func BindAsFileDescriptorSet(flagSet *pflag.FlagSet, addr *bool, flagName string)
- func BindDisableSymlinks(flagSet *pflag.FlagSet, addr *bool, flagName string)
- func BindExcludeImports(flagSet *pflag.FlagSet, addr *bool, flagName string)
- func BindExcludePaths(flagSet *pflag.FlagSet, excludePathsAddr *[]string, ...)
- func BindExcludeSourceInfo(flagSet *pflag.FlagSet, addr *bool, flagName string)
- func BindInputHashtag(flagSet *pflag.FlagSet, addr *string)
- func BindPaths(flagSet *pflag.FlagSet, pathsAddr *[]string, pathsFlagName string)
- func GetInputLong(inputArgDescription string) string
- func GetInputValue(container appflag.Container, inputHashtag string, defaultValue string) (string, error)
- func GetSourceLong(inputArgDescription string) string
- func GetSourceOrModuleLong(inputArgDescription string) string
- func NewBranchOrTagNameAlreadyExistsError(name string) error
- func NewConfig(container appflag.Container) (*bufapp.Config, error)
- func NewContextModifierProvider(container appflag.Container) func(string) (func(context.Context) context.Context, error)
- func NewErrorInterceptor() appflag.Interceptor
- func NewImageForSource(ctx context.Context, container appflag.Container, source string, ...) (bufimage.Image, error)
- func NewInternalError(err error) error
- func NewModuleReaderAndCreateCacheDirs(container appflag.Container, ...) (bufmodule.ModuleReader, error)
- func NewModuleRefError(moduleRef string) error
- func NewModuleReferenceNotFoundError(reference bufmoduleref.ModuleReference) error
- func NewOrganizationNameAlreadyExistsError(name string) error
- func NewOrganizationNotFoundError(name string) error
- func NewPluginNotFoundError(owner string, name string) error
- func NewRegistryProvider(ctx context.Context, container appflag.Container) (registryv1alpha1apiclient.Provider, error)
- func NewRepositoryNameAlreadyExistsError(name string) error
- func NewRepositoryNotFoundError(name string) error
- func NewStorageosProvider(disableSymlinks bool) storageos.Provider
- func NewTemplateNotFoundError(owner string, name string) error
- func NewTokenNotFoundError(tokenID string) error
- func NewTooManyEmptyAnswersError(attempts int) error
- func NewUnimplementedRemoteError(err error, remote string, moduleIdentity string) error
- func NewWireFileLister(container appflag.Container, storageosProvider storageos.Provider, ...) (bufwire.FileLister, error)
- func NewWireImageConfigReader(container appflag.Container, storageosProvider storageos.Provider, ...) (bufwire.ImageConfigReader, error)
- func NewWireImageReader(logger *zap.Logger, storageosProvider storageos.Provider, ...) bufwire.ImageReader
- func NewWireImageWriter(logger *zap.Logger) bufwire.ImageWriter
- func NewWireModuleConfigReader(container appflag.Container, storageosProvider storageos.Provider, ...) (bufwire.ModuleConfigReader, error)
- func NewWireModuleConfigReaderForModuleReader(container appflag.Container, storageosProvider storageos.Provider, ...) (bufwire.ModuleConfigReader, error)
- func NewWireProtoEncodingReader(logger *zap.Logger) bufwire.ProtoEncodingReader
- func NewWireProtoEncodingWriter(logger *zap.Logger) bufwire.ProtoEncodingWriter
- func ParseSourceAndType(ctx context.Context, source string, typeName string) (string, string, error)
- func PromptUser(container app.Container, prompt string) (string, error)
- func PromptUserForDelete(container app.Container, entityType string, expectedAnswer string) error
- func PromptUserForPassword(container app.Container, prompt string) (string, error)
- func ReadModuleWithWorkspacesDisabled(ctx context.Context, container appflag.Container, ...) (bufmodule.Module, bufmoduleref.ModuleIdentity, error)
- func ValidateErrorFormatFlag(errorFormatString string, errorFormatFlagName string) error
- func ValidateErrorFormatFlagLint(errorFormatString string, errorFormatFlagName string) error
- func WarnAlphaCommand(ctx context.Context, container appflag.Container)
- func WarnBetaCommand(ctx context.Context, container appflag.Container)
- type GlobalFlags
Constants ¶
const ( // ExitCodeFileAnnotation is the exit code used when we print file annotations. // // We use a different exit code to be able to distinguish user-parsable errors from // system errors. ExitCodeFileAnnotation = 100 )
const (
// Version is the CLI version of buf.
Version = "1.1.0"
)
Variables ¶
var ( // AllCacheModuleRelDirPaths are all directory paths for all time concerning the module cache. // // These are normalized. // These are relative to container.CacheDirPath(). // // This variable is used for clearing the cache. AllCacheModuleRelDirPaths = []string{ v1beta1CacheModuleDataRelDirPath, v1beta1CacheModuleLockRelDirPath, v1CacheModuleDataRelDirPath, v1CacheModuleLockRelDirPath, v1CacheModuleSumRelDirPath, } // ErrNotATTY is returned when an input io.Reader is not a TTY where it is expected. ErrNotATTY = errors.New("reader was not a TTY as expected") )
var ( // ErrNoModuleName is used when the user does not specify a module name in their configuration file. ErrNoModuleName = errors.New(`please specify a module name in your configuration file with the "name" key`) // ErrNoConfigFile is used when the user tries to execute a command without a configuration file. ErrNoConfigFile = errors.New(`please define a configuration file in the current directory; you can create one by running "buf config init"`) // ErrFileAnnotation is used when we print file annotations and want to return an error. // // The app package works on the concept that an error results in a non-zero exit // code, and we already print the messages with PrintFileAnnotations, so we do // not want to print any additional error message. // // We also exit with 100 to be able to distinguish user-parsable errors from // system errors. ErrFileAnnotation = app.NewError(ExitCodeFileAnnotation, "") )
Functions ¶
func BindAsFileDescriptorSet ¶
BindAsFileDescriptorSet binds the exclude-imports flag.
func BindDisableSymlinks ¶ added in v1.0.0
BindDisableSymlinks binds the disable-symlinks flag.
func BindExcludeImports ¶
BindExcludeImports binds the exclude-imports flag.
func BindExcludePaths ¶ added in v1.0.0
func BindExcludePaths( flagSet *pflag.FlagSet, excludePathsAddr *[]string, excludePathsFlagName string, )
BindExcludePaths binds the exclude-path flag.
func BindExcludeSourceInfo ¶
BindExcludeSourceInfo binds the exclude-source-info flag.
func BindInputHashtag ¶
BindInputHashtag binds the input hashtag flag.
This needs to be added to any command that has the input as the first argument. This deals with the situation "buf build -#format=json" which results in a parse error from pflag.
func GetInputLong ¶
GetInputLong gets the long command description for an input-based command.
func GetInputValue ¶
func GetInputValue( container appflag.Container, inputHashtag string, defaultValue string, ) (string, error)
GetInputValue gets the first arg.
Also parses the special input hashtag flag that deals with the situation "buf build -#format=json". The existence of 0 or 1 args should be handled by the Args field on Command.
func GetSourceLong ¶ added in v1.0.0
GetSourceLong gets the long command description for an input-based command.
func GetSourceOrModuleLong ¶
GetSourceOrModuleLong gets the long command description for an input-based command.
func NewBranchOrTagNameAlreadyExistsError ¶
NewBranchOrTagNameAlreadyExistsError informs the user that a branch or tag with that name already exists.
func NewContextModifierProvider ¶
func NewContextModifierProvider( container appflag.Container, ) func(string) (func(context.Context) context.Context, error)
NewContextModifierProvider returns a new context modifier provider for API providers.
Public for use in other packages that provide API provider constructors.
func NewErrorInterceptor ¶
func NewErrorInterceptor() appflag.Interceptor
NewErrorInterceptor returns a CLI interceptor that wraps Buf CLI errors.
func NewImageForSource ¶ added in v1.0.0
func NewImageForSource( ctx context.Context, container appflag.Container, source string, errorFormat string, disableSymlinks bool, configOverride string, externalDirOrFilePaths []string, externalExcludeDirOrFilePaths []string, externalDirOrFilePathsAllowNotExist bool, excludeSourceCodeInfo bool, ) (bufimage.Image, error)
NewImageForSource resolves a single bufimage.Image from the user-provided source with the build options.
func NewInternalError ¶
NewInternalError represents an internal error encountered by the buf CLI. These errors should not happen and therefore warrant a bug report.
func NewModuleReaderAndCreateCacheDirs ¶
func NewModuleReaderAndCreateCacheDirs( container appflag.Container, registryProvider registryv1alpha1apiclient.Provider, ) (bufmodule.ModuleReader, error)
NewModuleReaderAndCreateCacheDirs returns a new ModuleReader while creating the required cache directories.
func NewModuleRefError ¶
NewModuleRefError is used when the client fails to parse a module ref.
func NewModuleReferenceNotFoundError ¶
func NewModuleReferenceNotFoundError(reference bufmoduleref.ModuleReference) error
NewModuleReferenceNotFoundError informs the user that a module reference does not exist.
func NewOrganizationNameAlreadyExistsError ¶
NewOrganizationNameAlreadyExistsError informs the user that an organization with that name already exists.
func NewOrganizationNotFoundError ¶
NewOrganizationNotFoundError informs the user that an organization with that name does not exist.
func NewPluginNotFoundError ¶
NewPluginNotFoundError informs the user that a plugin with that owner and name does not exist.
func NewRegistryProvider ¶
func NewRegistryProvider(ctx context.Context, container appflag.Container) (registryv1alpha1apiclient.Provider, error)
NewRegistryProvider creates a new registryv1alpha1apiclient.Provider.
func NewRepositoryNameAlreadyExistsError ¶
NewRepositoryNameAlreadyExistsError informs the user that a repository with that name already exists.
func NewRepositoryNotFoundError ¶
NewRepositoryNotFoundError informs the user that a repository with that name does not exist.
func NewStorageosProvider ¶ added in v1.0.0
NewStorageosProvider returns a new storageos.Provider based on the value of the disable-symlinks flag.
func NewTemplateNotFoundError ¶
NewTemplateNotFoundError informs the user that a template with that owner and name does not exist.
func NewTokenNotFoundError ¶
NewTokenNotFoundError informs the user that a token with that identifier does not exist.
func NewTooManyEmptyAnswersError ¶
NewTooManyEmptyAnswersError is used when the user does not answer a prompt in the given number of attempts.
func NewWireFileLister ¶
func NewWireFileLister( container appflag.Container, storageosProvider storageos.Provider, runner command.Runner, registryProvider registryv1alpha1apiclient.Provider, ) (bufwire.FileLister, error)
NewWireFileLister returns a new FileLister.
func NewWireImageConfigReader ¶
func NewWireImageConfigReader( container appflag.Container, storageosProvider storageos.Provider, runner command.Runner, registryProvider registryv1alpha1apiclient.Provider, ) (bufwire.ImageConfigReader, error)
NewWireImageConfigReader returns a new ImageConfigReader.
func NewWireImageReader ¶
func NewWireImageReader( logger *zap.Logger, storageosProvider storageos.Provider, runner command.Runner, ) bufwire.ImageReader
NewWireImageReader returns a new ImageReader.
func NewWireImageWriter ¶
func NewWireImageWriter( logger *zap.Logger, ) bufwire.ImageWriter
NewWireImageWriter returns a new ImageWriter.
func NewWireModuleConfigReader ¶
func NewWireModuleConfigReader( container appflag.Container, storageosProvider storageos.Provider, runner command.Runner, registryProvider registryv1alpha1apiclient.Provider, ) (bufwire.ModuleConfigReader, error)
NewWireModuleConfigReader returns a new ModuleConfigReader.
func NewWireModuleConfigReaderForModuleReader ¶
func NewWireModuleConfigReaderForModuleReader( container appflag.Container, storageosProvider storageos.Provider, runner command.Runner, registryProvider registryv1alpha1apiclient.Provider, moduleReader bufmodule.ModuleReader, ) (bufwire.ModuleConfigReader, error)
NewWireModuleConfigReaderForModuleReader returns a new ModuleConfigReader using the given ModuleReader.
func NewWireProtoEncodingReader ¶ added in v1.1.0
func NewWireProtoEncodingReader( logger *zap.Logger, ) bufwire.ProtoEncodingReader
NewWireProtoEncodingReader returns a new ProtoEncodingReader.
func NewWireProtoEncodingWriter ¶ added in v1.0.0
func NewWireProtoEncodingWriter( logger *zap.Logger, ) bufwire.ProtoEncodingWriter
NewWireProtoEncodingWriter returns a new ProtoEncodingWriter.
func ParseSourceAndType ¶ added in v1.0.0
func ParseSourceAndType( ctx context.Context, source string, typeName string, ) (string, string, error)
ParseSourceAndType returns the moduleReference and typeName from the source and type provided by the user. When source is not provided, we assume the type is a fully qualified path to the type and try to parse it. Otherwise, if both source and type are provided, the type must be a valid Protobuf identifier (e.g. weather.v1.Units).
func PromptUser ¶
PromptUser reads a line from Stdin, prompting the user with the prompt first. The prompt is repeatedly shown until the user provides a non-empty response. ErrNotATTY is returned if the input containers Stdin is not a terminal.
func PromptUserForDelete ¶
PromptUserForDelete is used to receieve user confirmation that a specific entity should be deleted. If the user's answer does not match the expected answer, an error is returned. ErrNotATTY is returned if the input containers Stdin is not a terminal.
func PromptUserForPassword ¶
PromptUserForPassword reads a line from Stdin, prompting the user with the prompt first. The prompt is repeatedly shown until the user provides a non-empty response. ErrNotATTY is returned if the input containers Stdin is not a terminal.
func ReadModuleWithWorkspacesDisabled ¶
func ReadModuleWithWorkspacesDisabled( ctx context.Context, container appflag.Container, storageosProvider storageos.Provider, runner command.Runner, source string, ) (bufmodule.Module, bufmoduleref.ModuleIdentity, error)
ReadModuleWithWorkspacesDisabled gets a module from a source ref.
Workspaces are disabled for this function.
func ValidateErrorFormatFlag ¶
ValidateErrorFormatFlag validates the error format flag for all commands but lint.
func ValidateErrorFormatFlagLint ¶
ValidateErrorFormatFlagLint validates the error format flag for lint.
func WarnAlphaCommand ¶ added in v1.0.0
WarnAlphaCommand prints a warning for a alpha command unless the alphaSuppressWarningsEnvKey environment variable is set.
Types ¶
type GlobalFlags ¶
type GlobalFlags struct{}
GlobalFlags contains global flags for buf commands.
func NewGlobalFlags ¶
func NewGlobalFlags() *GlobalFlags
NewGlobalFlags creates a new GlobalFlags with default values..
func (*GlobalFlags) BindRoot ¶
func (*GlobalFlags) BindRoot(*pflag.FlagSet)
BindRoot binds the global flags to the root command flag set.