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.