You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by ke...@apache.org on 2021/05/29 05:11:31 UTC

[skywalking-eyes] branch header/config/license-location-threshold created (now b06cd2f)

This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a change to branch header/config/license-location-threshold
in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git.


      at b06cd2f  Expose license-location-threshold as config item

This branch includes the following new commits:

     new b06cd2f  Expose license-location-threshold as config item

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[skywalking-eyes] 01/01: Expose license-location-threshold as config item

Posted by ke...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch header/config/license-location-threshold
in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git

commit b06cd2f582e8db25942e41ec7693e69a0e0e76c0
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Sat May 29 13:11:18 2021 +0800

    Expose license-location-threshold as config item
---
 .licenserc.yaml      |  4 ++++
 pkg/header/check.go  | 14 ++++----------
 pkg/header/config.go |  8 ++++++++
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/.licenserc.yaml b/.licenserc.yaml
index fbf15b1..af8bc1c 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -76,6 +76,10 @@ header: # `header` section is configurations for source codes license header.
 
   comment: on-failure # on what condition license-eye will comment on the pull request, `on-failure`, `always`, `never`.
 
+  # license-location-threshold specifies the index threshold where the license header can be located,
+  # after all, a "header" cannot be TOO far from the file start.
+  license-location-threshold: 80
+
 dependency:
   files:
     - go.mod
diff --git a/pkg/header/check.go b/pkg/header/check.go
index b7b87c1..21bdb8d 100644
--- a/pkg/header/check.go
+++ b/pkg/header/check.go
@@ -31,12 +31,6 @@ import (
 	"github.com/bmatcuk/doublestar/v2"
 )
 
-var (
-	// 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 = 80
-)
-
 // Check checks the license headers of the specified paths/globs.
 func Check(config *ConfigHeader, result *Result) error {
 	for _, pattern := range config.Paths {
@@ -129,7 +123,7 @@ func CheckFile(file string, config *ConfigHeader, result *Result) error {
 	content := lcs.NormalizeHeader(string(bs))
 	expected, pattern := config.NormalizedLicense(), config.NormalizedPattern()
 
-	if satisfy(content, expected, pattern) {
+	if satisfy(content, config, expected, pattern) {
 		result.Succeed(file)
 	} else {
 		logger.Log.Debugln("Content is:", content)
@@ -140,9 +134,9 @@ func CheckFile(file string, config *ConfigHeader, result *Result) error {
 	return nil
 }
 
-func satisfy(content, license string, pattern *regexp.Regexp) bool {
+func satisfy(content string, config *ConfigHeader, license string, pattern *regexp.Regexp) bool {
 	if index := strings.Index(content, license); strings.TrimSpace(license) != "" && index >= 0 {
-		return index < LicenseLocationThreshold
+		return index < config.LicenseLocationThreshold
 	}
 
 	if pattern == nil {
@@ -150,5 +144,5 @@ func satisfy(content, license string, pattern *regexp.Regexp) bool {
 	}
 	index := pattern.FindStringIndex(content)
 
-	return len(index) == 2 && index[0] < LicenseLocationThreshold
+	return len(index) == 2 && index[0] < config.LicenseLocationThreshold
 }
diff --git a/pkg/header/config.go b/pkg/header/config.go
index b4f0700..6abb94a 100644
--- a/pkg/header/config.go
+++ b/pkg/header/config.go
@@ -56,6 +56,10 @@ type ConfigHeader struct {
 	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"`
 }
 
 // NormalizedLicense returns the normalized string of the license content,
@@ -120,6 +124,10 @@ func (config *ConfigHeader) Finalize() error {
 		logger.Log.Debugln("Pattern is:", p)
 	}
 
+	if config.LicenseLocationThreshold <= 0 {
+		config.LicenseLocationThreshold = 80
+	}
+
 	return nil
 }