header

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Check

func Check(config *ConfigHeader, result *Result) error

Check checks the license headers of the specified paths/globs.

func CheckFile

func CheckFile(file string, config *ConfigHeader, result *Result) error

CheckFile checks whether the file contains the configured license header.

func Fix

func Fix(file string, config *ConfigHeader, result *Result) error

Fix adds the configured license header to the given file.

func GenerateLicenseHeader

func GenerateLicenseHeader(style *comments.CommentStyle, config *ConfigHeader) (string, error)

func InsertComment

func InsertComment(file string, style *comments.CommentStyle, config *ConfigHeader, result *Result) error

Types

type CommentOption

type CommentOption string
var (
	Always    CommentOption = "always"
	Never     CommentOption = "never"
	OnFailure CommentOption = "on-failure"

	ASFNames = regexp.MustCompile("(?i)(the )?(Apache Software Foundation|ASF)")
)

type ConfigHeader

type ConfigHeader struct {
	License     LicenseConfig `yaml:"license"`
	Paths       []string      `yaml:"paths"`
	PathsIgnore []string      `yaml:"paths-ignore"`
	Comment     CommentOption `yaml:"comment"`

	// LicenseLocationThreshold specifies the index threshold where the license header can be located,
	// after all, a "header" cannot be TOO far from the file start.
	LicenseLocationThreshold int                          `yaml:"license-location-threshold"`
	Languages                map[string]comments.Language `yaml:"language"`
}

func (*ConfigHeader) Finalize

func (config *ConfigHeader) Finalize() error

func (*ConfigHeader) GetLicenseContent

func (config *ConfigHeader) GetLicenseContent() (c string)

func (*ConfigHeader) LicensePattern added in v0.3.0

func (config *ConfigHeader) LicensePattern(style *comments.CommentStyle) *regexp.Regexp

func (*ConfigHeader) NormalizedLicense

func (config *ConfigHeader) NormalizedLicense() string

NormalizedLicense returns the normalized string of the license content, "normalized" means the linebreaks and Punctuations are all trimmed.

func (*ConfigHeader) NormalizedPattern

func (config *ConfigHeader) NormalizedPattern() *regexp.Regexp

func (*ConfigHeader) ShouldIgnore

func (config *ConfigHeader) ShouldIgnore(path string) (bool, error)

type LicenseConfig

type LicenseConfig struct {
	SpdxID         string `yaml:"spdx-id"`
	CopyrightOwner string `yaml:"copyright-owner"`
	CopyrightYear  string `yaml:"copyright-year"`
	SoftwareName   string `yaml:"software-name"`
	Content        string `yaml:"content"`
	Pattern        string `yaml:"pattern"`
}

type Result

type Result struct {
	Success []string
	Failure []string
	Ignored []string
	Fixed   []string
}

func (*Result) Error

func (result *Result) Error() error

func (*Result) Fail

func (result *Result) Fail(file string)

func (*Result) Fix

func (result *Result) Fix(file string)

func (*Result) HasFailure

func (result *Result) HasFailure() bool

func (*Result) Ignore

func (result *Result) Ignore(file string)

func (*Result) String

func (result *Result) String() string

func (*Result) Succeed

func (result *Result) Succeed(file string)

Jump to

Keyboard shortcuts

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