Skip to content

Commit 77e6268

Browse files
paichingerPeter Aichinger
and
Peter Aichinger
authored
Add support for transitive dependencies. (roboll#1983)
Co-authored-by: Peter Aichinger <[email protected]>
1 parent 9a0ce53 commit 77e6268

14 files changed

+583
-177
lines changed

main.go

+20-4
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func main() {
201201
},
202202
cli.BoolTFlag{
203203
Name: "skip-needs",
204-
Usage: `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided. Defaults to true when --include-needs is not provided`,
204+
Usage: `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided. Defaults to true when --include-needs or --include-transitive-needs is not provided`,
205205
},
206206
cli.BoolFlag{
207207
Name: "include-needs",
@@ -286,6 +286,10 @@ func main() {
286286
Name: "include-needs",
287287
Usage: `automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided`,
288288
},
289+
cli.BoolFlag{
290+
Name: "include-transitive-needs",
291+
Usage: `like --include-needs, but also includes transitive needs (needs of needs). Does nothing when when --selector/-l flag is not provided. Overrides exclusions of other selectors and conditions.`,
292+
},
289293
cli.BoolFlag{
290294
Name: "skip-deps",
291295
Usage: `skip running "helm repo update" and "helm dependency build"`,
@@ -414,12 +418,16 @@ func main() {
414418
},
415419
cli.BoolTFlag{
416420
Name: "skip-needs",
417-
Usage: `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided. Defaults to true when --include-needs is not provided`,
421+
Usage: `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided. Defaults to true when --include-needs or --include-transitive-needs is not provided`,
418422
},
419423
cli.BoolFlag{
420424
Name: "include-needs",
421425
Usage: `automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided`,
422426
},
427+
cli.BoolFlag{
428+
Name: "include-transitive-needs",
429+
Usage: `like --include-needs, but also includes transitive needs (needs of needs). Does nothing when when --selector/-l flag is not provided. Overrides exclusions of other selectors and conditions.`,
430+
},
423431
cli.BoolFlag{
424432
Name: "wait",
425433
Usage: `Override helmDefaults.wait setting "helm upgrade --install --wait"`,
@@ -487,12 +495,16 @@ func main() {
487495
},
488496
cli.BoolTFlag{
489497
Name: "skip-needs",
490-
Usage: `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided. Defaults to true when --include-needs is not provided`,
498+
Usage: `do not automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided. Defaults to true when --include-needs or --include-transitive-needs is not provided`,
491499
},
492500
cli.BoolFlag{
493501
Name: "include-needs",
494502
Usage: `automatically include releases from the target release's "needs" when --selector/-l flag is provided. Does nothing when when --selector/-l flag is not provided`,
495503
},
504+
cli.BoolFlag{
505+
Name: "include-transitive-needs",
506+
Usage: `like --include-needs, but also includes transitive needs (needs of needs). Does nothing when when --selector/-l flag is not provided. Overrides exclusions of other selectors and conditions.`,
507+
},
496508
cli.BoolFlag{
497509
Name: "skip-diff-on-install",
498510
Usage: "Skips running helm-diff on releases being newly installed on this apply. Useful when the release manifests are too huge to be reviewed, or it's too time-consuming to diff at all",
@@ -782,7 +794,11 @@ func (c configImpl) SkipNeeds() bool {
782794
}
783795

784796
func (c configImpl) IncludeNeeds() bool {
785-
return c.c.Bool("include-needs")
797+
return c.c.Bool("include-needs") || c.IncludeTransitiveNeeds()
798+
}
799+
800+
func (c configImpl) IncludeTransitiveNeeds() bool {
801+
return c.c.Bool("include-transitive-needs")
786802
}
787803

788804
// DiffConfig

0 commit comments

Comments
 (0)