found a way

Signed-off-by: Danilo Patrucco <danilo.patrucco@gmail.com>
pull/13205/head
Danilo Patrucco 1 year ago
parent 9dfa76ee77
commit 395fe72f08

@ -92,25 +92,22 @@ func newLintCmd(out io.Writer) *cobra.Command {
return fmt.Errorf("failed to parse .helmlintignore file: %v", err) return fmt.Errorf("failed to parse .helmlintignore file: %v", err)
} }
} }
var message strings.Builder var message strings.Builder
failed := 0 failed := 0
for _, path := range paths { for _, path := range paths {
result := client.Run([]string{path}, vals) result := client.Run([]string{path}, vals)
filteredResult := FilterIgnoredMessages(result, ignorePatterns) filteredResult := FilterIgnoredMessages(result, ignorePatterns)
fmt.Fprintf(&message, "==> Linting %s\n", path) fmt.Fprintf(&message, "==> Linting %s\n", path)
for _, msg := range filteredResult.Messages { for _, msg := range filteredResult.Messages {
fmt.Fprintf(&message, "%s\n", msg) fmt.Fprintf(&message, "%s\n", msg)
} }
if len(filteredResult.Errors) != 0 { if len(filteredResult.Messages) != 0 {
failed++ failed++
for _, err := range filteredResult.Errors { for _, err := range filteredResult.Errors {
fmt.Fprintf(&message, "Error: %s\n", err) fmt.Fprintf(&message, "Error: %s\n", err)
} }
} }
fmt.Fprint(&message, "\n") // fmt.Fprint(&message, "\n")
} }
fmt.Fprint(out, message.String()) fmt.Fprint(out, message.String())
@ -136,15 +133,14 @@ func newLintCmd(out io.Writer) *cobra.Command {
func FilterIgnoredMessages(result *action.LintResult, patterns map[string][]string) *action.LintResult { func FilterIgnoredMessages(result *action.LintResult, patterns map[string][]string) *action.LintResult {
filteredMessages := make([]support.Message, 0) filteredMessages := make([]support.Message, 0)
for _, msg := range result.Messages { for _, msg := range result.Messages {
fmt.Printf("test-- ", msg, " --test") fullPath := extractFullPathFromError(msg.Err.Error())
fmt.Printf("Extracted full path: %s\n", fullPath)
ignore := false ignore := false
for path, pathPatterns := range patterns { for path, pathPatterns := range patterns {
fmt.Printf("test-- ", path, " --test") if strings.Contains(fullPath, filepath.Clean(path)) {
cleanedPath := filepath.Clean(path)
if strings.Contains(msg.Path, cleanedPath) {
for _, pattern := range pathPatterns { for _, pattern := range pathPatterns {
if strings.Contains(msg.Err.Error(), pattern) { if strings.Contains(msg.Err.Error(), pattern) {
fmt.Printf("Ignoring message: [%s] %s\n", msg.Path, msg.Err.Error()) fmt.Printf("Ignoring message: [%s] %s\n\n", fullPath, msg.Err.Error())
ignore = true ignore = true
break break
} }
@ -160,3 +156,11 @@ func FilterIgnoredMessages(result *action.LintResult, patterns map[string][]stri
} }
return &action.LintResult{Messages: filteredMessages} return &action.LintResult{Messages: filteredMessages}
} }
func extractFullPathFromError(errorString string) string {
parts := strings.Split(errorString, ":")
if len(parts) > 2 {
return strings.TrimSpace(parts[1])
}
return ""
}

Loading…
Cancel
Save