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

Method resolveAllRefs

cmds/cmd_deploy.go:147–234  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

145}
146
147func (d *deployCmd) resolveAllRefs() error {
148 // Collect all ports (top-level + transitive dependencies) into []refs.PortInfo.
149 collected := make(map[string]refs.PortInfo)
150 var collect func(nameVersion string) error
151
152 collect = func(nameVersion string) error {
153 if _, exists := collected[nameVersion]; exists {
154 return nil
155 }
156
157 var port configs.Port
158 if err := port.Init(d.celer, nameVersion); err != nil {
159 return err
160 }
161 collected[nameVersion] = refs.PortInfo{
162 NameVersion: port.NameVersion(),
163 Url: port.Package.Url,
164 Ref: port.Package.Ref,
165 Checksum: port.Package.Checksum,
166 }
167 for _, dep := range port.MatchedConfig.Dependencies {
168 if err := collect(dep); err != nil {
169 return err
170 }
171 }
172 for _, dep := range port.MatchedConfig.DevDependencies {
173 if err := collect(dep); err != nil {
174 return err
175 }
176 }
177 return nil
178 }
179
180 for _, port := range d.celer.Project().GetPorts() {
181 if err := collect(port); err != nil {
182 return err
183 }
184 }
185
186 var portInfos []refs.PortInfo
187 for _, info := range collected {
188 portInfos = append(portInfos, info)
189 }
190
191 projectName := d.celer.Project().GetName()
192 resolvedRefs := refs.ResolvePorts(portInfos)
193
194 // Store resolved commits for use during clone/checkout.
195 commits := make(map[string]string, len(resolvedRefs))
196 for _, r := range resolvedRefs {
197 if r.ResolvedCommit != "" {
198 commits[r.NameVersion] = r.ResolvedCommit
199 }
200 }
201 refs.StoreResolvedCommits(commits)
202 refs.PrintResolvedRefs(projectName, resolvedRefs)
203
204 // Save to file in deployments.

Callers 1

CommandMethod · 0.95

Calls 15

InitMethod · 0.95
NameVersionMethod · 0.95
ResolvePortsFunction · 0.92
StoreResolvedCommitsFunction · 0.92
PrintResolvedRefsFunction · 0.92
SaveSnapshotMarkdownFunction · 0.92
PrintfFunction · 0.92
FormatMethod · 0.80
SprintfMethod · 0.80
MkdirAllMethod · 0.80
GetPortsMethod · 0.65
ProjectMethod · 0.65

Tested by

no test coverage detected