From 7dedeece42cf6ad9854fc420414b36be13a383f8 Mon Sep 17 00:00:00 2001 From: Snider Date: Thu, 16 Apr 2026 06:25:59 +0100 Subject: [PATCH] fix core-lint CLI missing-tool output --- cmd/core-lint/main.go | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/cmd/core-lint/main.go b/cmd/core-lint/main.go index 346831e..da7cd7b 100644 --- a/cmd/core-lint/main.go +++ b/cmd/core-lint/main.go @@ -9,10 +9,10 @@ import ( "sort" "strings" - "forge.lthn.ai/core/cli/pkg/cli" - coreerr "forge.lthn.ai/core/go-log" cataloglint "dappco.re/go/core/lint" lintpkg "dappco.re/go/core/lint/pkg/lint" + "forge.lthn.ai/core/cli/pkg/cli" + coreerr "forge.lthn.ai/core/go-log" ) func main() { @@ -91,6 +91,7 @@ func newRunCommand(commandName string, summary string, defaults lintpkg.RunInput if err != nil { return err } + report = stripMissingToolFindings(report) if err := writeReport(command.OutOrStdout(), input.Output, report); err != nil { return err @@ -423,6 +424,30 @@ func writeIndentedJSON(writer io.Writer, value any) error { return encoder.Encode(value) } +func stripMissingToolFindings(report lintpkg.Report) lintpkg.Report { + if len(report.Findings) == 0 { + return report + } + passed := report.Summary.Passed + + filtered := make([]lintpkg.Finding, 0, len(report.Findings)) + for _, finding := range report.Findings { + if finding.Code == "missing-tool" { + continue + } + filtered = append(filtered, finding) + } + + if len(filtered) == len(report.Findings) { + return report + } + + report.Findings = filtered + report.Summary = lintpkg.Summarise(filtered) + report.Summary.Passed = passed + return report +} + func writeCatalogSummary(writer io.Writer, findings []lintpkg.Finding) { summary := lintpkg.Summarise(findings) fmt.Fprintf(writer, "\n%d finding(s)", summary.Total)