buildifier

package
v0.0.0-...-4a11b79 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package buildifier implements processing of Starlark files via buildifier.

Buildifier is primarily intended for Bazel files. We try to disable as much of Bazel-specific logic as possible, keeping only generally useful Starlark rules.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrActionableFindings is returned by Lint if there are actionable findings.
	ErrActionableFindings = errors.New("some *.star files have linter warnings, please fix them")
)

Functions

func Visit

func Visit(loader interpreter.Loader, paths []string, v Visitor) errors.MultiError

Visit parses Starlark files using Buildifier and calls the callback for each parsed file, in parallel.

Collects all errors from all callbacks in a single joint multi-error.

Types

type Finding

type Finding struct {
	Path       string    `json:"path"`
	Start      *Position `json:"start,omitempty"`
	End        *Position `json:"end,omitempty"`
	Category   string    `json:"string,omitempty"`
	Message    string    `json:"message,omitempty"`
	Actionable bool      `json:"actionable,omitempty"`
}

Finding is information about one linting or formatting error.

Implements error interface. Non-actionable findings are assumed to be non-blocking errors.

func Lint

func Lint(loader interpreter.Loader, paths []string, lintChecks []string) (findings []*Finding, err error)

Lint appliers linting and formatting checks to the given files.

Returns all findings and a non-nil error (usually a MultiError) if some findings are blocking.

func (*Finding) Error

func (f *Finding) Error() string

Error returns a short summary of the finding.

func (*Finding) Format

func (f *Finding) Format() string

Format returns a detailed reported that can be printed to stderr.

type Position

type Position struct {
	Line   int `json:"line"`   // starting from 1
	Column int `json:"column`  // in runes, starting from 1
	Offset int `json:"offset"` // absolute offset in bytes
}

Position indicates a position within a file.

type Visitor

type Visitor func(path string, body []byte, f *build.File) errors.MultiError

Visitor processes a parsed Starlark file, returning all errors encountered when processing it.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL