Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CheckFunc ¶
type CheckFunc func(id string, ignoreFunc IgnoreFunc, previousFiles []protosource.File, files []protosource.File) ([]bufanalysis.FileAnnotation, error)
CheckFunc is a check function.
type Checker ¶
type Checker struct {
// contains filtered or unexported fields
}
Checker provides a base embeddable checker.
func (*Checker) MarshalJSON ¶
MarshalJSON implements Checker.
type CheckerBuilder ¶
type CheckerBuilder struct {
// contains filtered or unexported fields
}
CheckerBuilder is a checker builder.
func NewCheckerBuilder ¶
func NewCheckerBuilder( id string, newPurpose func(ConfigBuilder) (string, error), newCheck func(ConfigBuilder) (CheckFunc, error), ) *CheckerBuilder
NewCheckerBuilder returns a new CheckerBuilder.
func NewNopCheckerBuilder ¶
func NewNopCheckerBuilder( id string, purpose string, checkFunc CheckFunc, ) *CheckerBuilder
NewNopCheckerBuilder returns a new CheckerBuilder for the direct purpose and CheckFunc.
func (*CheckerBuilder) NewChecker ¶
func (c *CheckerBuilder) NewChecker(configBuilder ConfigBuilder, categories []string) (*Checker, error)
NewChecker returns a new Checker.
Categories will be sorted and Purpose will be prepended with "Checks that " and appended with ".".
Categories is an actual copy from the checkerBuilder.
type Config ¶
type Config struct {
// Checkers are the checkers to run.
//
// Checkers will be sorted by first categories, then id when Configs are
// created from this package, i.e. created wth ConfigBuilder.NewConfig.
Checkers []*Checker
IgnoreRootPaths map[string]struct{}
IgnoreIDToRootPaths map[string]map[string]struct{}
AllowCommentIgnores bool
IgnoreUnstablePackages bool
}
Config is the check config.
type ConfigBuilder ¶
type ConfigBuilder struct {
Use []string
Except []string
IgnoreRootPaths []string
IgnoreIDOrCategoryToRootPaths map[string][]string
AllowCommentIgnores bool
IgnoreUnstablePackages bool
EnumZeroValueSuffix string
RPCAllowSameRequestResponse bool
RPCAllowGoogleProtobufEmptyRequests bool
RPCAllowGoogleProtobufEmptyResponses bool
ServiceSuffix string
}
ConfigBuilder is a config builder.
func (ConfigBuilder) NewConfig ¶
func (b ConfigBuilder) NewConfig(versionSpec *VersionSpec) (*Config, error)
NewConfig returns a new Config.
type Helper ¶
type Helper struct {
// contains filtered or unexported fields
}
Helper is a helper for checkers.
func NewHelper ¶
func NewHelper(id string, ignoreFunc IgnoreFunc) *Helper
NewHelper returns a new Helper for the given id.
func (*Helper) AddFileAnnotationf ¶ added in v0.6.0
func (h *Helper) AddFileAnnotationf( descriptor protosource.Descriptor, location protosource.Location, format string, args ...interface{}, )
AddFileAnnotationf adds a FileAnnotation with the id as the Type.
If descriptor is nil, no filename information is added. If location is nil, no line or column information will be added.
func (*Helper) FileAnnotations ¶ added in v0.6.0
func (h *Helper) FileAnnotations() []bufanalysis.FileAnnotation
FileAnnotations returns the added FileAnnotations.
type IgnoreFunc ¶ added in v0.15.0
type IgnoreFunc func(id string, descriptor protosource.Descriptor, location protosource.Location) bool
IgnoreFunc is an ignore function.
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
Runner is a runner.
func NewRunner ¶
NewRunner returns a new Runner.
ignorePrefix should be empty if comment ignores are not allowed
func (*Runner) Check ¶
func (r *Runner) Check(ctx context.Context, config *Config, previousFiles []protosource.File, files []protosource.File) ([]bufanalysis.FileAnnotation, error)
Check runs the Checkers.
type VersionSpec ¶ added in v0.26.0
type VersionSpec struct {
CheckerBuilders []*CheckerBuilder
DefaultCategories []string
AllCategories []string
IDToCategories map[string][]string
}
VersionSpec specifies the checkers, ids, and categories for a given version.