MCPcopy Create free account
hub / github.com/celer-pkg/celer / showPortTree

Method showPortTree

cmds/cmd_tree.go:94–129  ·  view source on GitHub ↗

showPortTree displays dependency tree for a port.

(target string, depchecker any)

Source from the content-addressed store, hash-verified

92
93// showPortTree displays dependency tree for a port.
94func (t *treeCmd) showPortTree(target string, depchecker any) error {
95 var port configs.Port
96 if err := port.Init(t.celer, target); err != nil {
97 return fmt.Errorf("failed to initialize port %s -> %w", target, err)
98 }
99
100 // Check circular dependence and version conflicts.
101 // We know depchecker is *depcheck from NewDepCheck()
102 type depChecker interface {
103 CheckCircular(context.Context, configs.Port) error
104 CheckConflict(context.Context, ...configs.Port) error
105 }
106 checker := depchecker.(depChecker)
107
108 if err := checker.CheckCircular(t.celer, port); err != nil {
109 return fmt.Errorf("circular dependency detected -> %w", err)
110 }
111
112 if err := checker.CheckConflict(t.celer, port); err != nil {
113 return fmt.Errorf("version conflict detected -> %w", err)
114 }
115
116 rootInfo := portInfo{
117 nameVersion: target,
118 depth: 0,
119 devDep: false,
120 }
121 if err := t.collectPortInfos(&rootInfo, target); err != nil {
122 return fmt.Errorf("failed to collect port information -> %w", err)
123 }
124
125 color.Printf(color.Title, "display dependencies in tree view:\n")
126 color.Printf(color.Line, "--------------------------------------------\n")
127 t.printTree(&rootInfo)
128 return nil
129}
130
131// showProjectTree displays dependency tree for a project.
132func (t *treeCmd) showProjectTree(target string, depchecker any) error {

Callers 1

treeMethod · 0.95

Calls 6

InitMethod · 0.95
collectPortInfosMethod · 0.95
printTreeMethod · 0.95
PrintfFunction · 0.92
CheckCircularMethod · 0.65
CheckConflictMethod · 0.65

Tested by

no test coverage detected