diff --git a/pkg/app/app.go b/pkg/app/app.go index 1a47dcf5..5aa0df7a 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -1617,11 +1617,17 @@ func (a *App) getSelectedReleases(r *Run, includeNeeds bool, includeTransitiveNe extra = " matching " + strings.Join(r.state.Selectors, ",") } - matchedOnly, err := r.state.GetSelectedReleases(false, false) - if err != nil { - return nil, nil, err + // When needs are included, we need a separate count of just the selector-matched releases + // for the debug log, so we don't count the included needs in the "found" message. + matchCount := len(selected) + if includeNeeds || includeTransitiveNeeds { + matchedOnly, err := r.state.GetSelectedReleases(false, false) + if err != nil { + return nil, nil, err + } + matchCount = len(matchedOnly) } - a.Logger.Debugf("%d release(s)%s found in %s\n", len(matchedOnly), extra, r.state.FilePath) + a.Logger.Debugf("%d release(s)%s found in %s\n", matchCount, extra, r.state.FilePath) return selected, deduplicated, nil } diff --git a/pkg/config/write-values.go b/pkg/config/write-values.go index 8da5aa2f..cbceb47f 100644 --- a/pkg/config/write-values.go +++ b/pkg/config/write-values.go @@ -66,12 +66,3 @@ func (c *WriteValuesImpl) OutputFileTemplate() string { return c.WriteValuesOptions.OutputFileTemplate } -// SkipDeps returns the skip deps -func (c *WriteValuesImpl) SkipDeps() bool { - return false -} - -// SkipRefresh returns the skip refresh -func (c *WriteValuesImpl) SkipRefresh() bool { - return false -} diff --git a/pkg/state/selector_test.go b/pkg/state/selector_test.go index 35ea4ab0..2d25bfcf 100644 --- a/pkg/state/selector_test.go +++ b/pkg/state/selector_test.go @@ -139,20 +139,30 @@ func TestSelectReleasesWithOverridesWithIncludedTransitives(t *testing.T) { subject string selector []string want []string + includeNeeds bool includeTransitiveNeeds bool } testcases := []testcase{ { - subject: "include transitives is false", + subject: "no needs inclusion", selector: []string{"name=serviceA"}, want: []string{"serviceA"}, + includeNeeds: false, includeTransitiveNeeds: false, }, { - subject: "include transitives is true", + subject: "include direct needs only", + selector: []string{"name=serviceA"}, + want: []string{"serviceA", "serviceB"}, + includeNeeds: true, + includeTransitiveNeeds: false, + }, + { + subject: "include transitive needs", selector: []string{"name=serviceA"}, want: []string{"serviceA", "serviceB", "serviceC"}, + includeNeeds: false, includeTransitiveNeeds: true, }, } @@ -192,7 +202,7 @@ func TestSelectReleasesWithOverridesWithIncludedTransitives(t *testing.T) { } state.Releases = state.GetReleasesWithLabels() - rs, err := state.GetSelectedReleases(tc.includeTransitiveNeeds, tc.includeTransitiveNeeds) + rs, err := state.GetSelectedReleases(tc.includeNeeds, tc.includeTransitiveNeeds) if err != nil { t.Fatalf("%s %s: %v", tc.selector, tc.subject, err) }