Skip to content

Commit d478d58

Browse files
committed
feat: show dependency tree in devspace print
1 parent 472411c commit d478d58

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

cmd/print.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"github.com/loft-sh/devspace/pkg/devspace/config"
66
"github.com/loft-sh/devspace/pkg/devspace/dependency"
7+
"github.com/loft-sh/devspace/pkg/devspace/dependency/types"
78
"github.com/loft-sh/devspace/pkg/devspace/hook"
89
"github.com/loft-sh/devspace/pkg/devspace/plugin"
910
"io"
@@ -113,7 +114,7 @@ func (cmd *PrintCmd) Run(f factory.Factory) error {
113114
}
114115

115116
if !cmd.SkipInfo {
116-
err = printExtraInfo(loadedConfig, log)
117+
err = printExtraInfo(loadedConfig, dependencies, log)
117118
if err != nil {
118119
return err
119120
}
@@ -131,7 +132,7 @@ func (cmd *PrintCmd) Run(f factory.Factory) error {
131132
return nil
132133
}
133134

134-
func printExtraInfo(config config.Config, log logger.Logger) error {
135+
func printExtraInfo(config config.Config, dependencies []types.Dependency, log logger.Logger) error {
135136
log.WriteString("\n-------------------\n\nVars:\n")
136137

137138
headerColumnNames := []string{"Name", "Value"}
@@ -151,5 +152,21 @@ func printExtraInfo(config config.Config, log logger.Logger) error {
151152
}
152153

153154
log.WriteString("\n-------------------\n\nLoaded path: " + config.Path() + "\n\n-------------------\n\n")
155+
156+
if len(dependencies) > 0 {
157+
log.WriteString("Dependency Tree:\n\n> Root\n")
158+
for _, dep := range dependencies {
159+
printDependencyRecursive("--", dep, log)
160+
}
161+
log.WriteString("\n-------------------\n\n")
162+
}
163+
154164
return nil
155165
}
166+
167+
func printDependencyRecursive(prefix string, dep types.Dependency, log logger.Logger) {
168+
log.WriteString(prefix + "> " + dep.Name() + " (ID: " + dep.ID()[:5] + ")\n")
169+
for _, child := range dep.Children() {
170+
printDependencyRecursive(prefix+"--", child, log)
171+
}
172+
}

pkg/devspace/dependency/dependency.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ func (m *manager) executeDependenciesRecursive(base string, dependencies []types
276276

277277
// skip if dependency was executed already
278278
if executedDependenciesIDs[dependency.ID()] {
279+
executedDependencies = append(executedDependencies, dependency)
279280
continue
280281
}
281282

0 commit comments

Comments
 (0)