This is an automated email from the ASF dual-hosted git repository. kezhenxu94 pushed a commit to branch skip-binary in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git
commit d951e97ec128ca4cf0f259ad77fccb6fd0193e93 Author: kezhenxu94 <[email protected]> AuthorDate: Tue Dec 22 23:04:00 2020 +0800 Enhance `check` command to automatically skip non-text (binary) files --- .licenserc.yaml | 2 -- license-eye/pkg/header/check.go | 11 +++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.licenserc.yaml b/.licenserc.yaml index dc3b932..e4494c7 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -61,9 +61,7 @@ header: # `header` section is configurations for source codes license header. paths-ignore: # `paths-ignore` are the path list that will be ignored by license-eye. - 'dist' - 'licenses' - - '**/bin/**' - '**/*.md' - - '**/.DS_Store' - '**/testdata/**' - '**/go.mod' - '**/go.sum' diff --git a/license-eye/pkg/header/check.go b/license-eye/pkg/header/check.go index 5325692..8053cd3 100644 --- a/license-eye/pkg/header/check.go +++ b/license-eye/pkg/header/check.go @@ -19,6 +19,8 @@ package header import ( "bufio" + "io/ioutil" + "net/http" "os" "path/filepath" "regexp" @@ -122,6 +124,15 @@ func CheckFile(file string, config *ConfigHeader, result *Result) error { var lines []string + bs, err := ioutil.ReadFile(file) + if err != nil { + return err + } + if t := http.DetectContentType(bs); !strings.HasPrefix(t, "text/") { + logger.Log.Debugln("Ignoring file:", file, "; type:", t) + return nil + } + scanner := bufio.NewScanner(reader) for scanner.Scan() { line := strings.ToLower(Punctuations.ReplaceAllString(scanner.Text(), " "))
