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())
@ -134,29 +131,36 @@ 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())
ignore := false fmt.Printf("Extracted full path: %s\n", fullPath)
for path, pathPatterns := range patterns { ignore := false
fmt.Printf("test-- ", path, " --test") for path, pathPatterns := range patterns {
cleanedPath := filepath.Clean(path) if strings.Contains(fullPath, 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\n", fullPath, msg.Err.Error())
fmt.Printf("Ignoring message: [%s] %s\n", msg.Path, msg.Err.Error()) ignore = true
ignore = true break
break }
} }
} }
} if ignore {
if ignore { break
break }
} }
} if !ignore {
if !ignore { filteredMessages = append(filteredMessages, msg)
filteredMessages = append(filteredMessages, msg) }
} }
} 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