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

Method cloneAllRepos

configs/port_install.go:748–813  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

746}
747
748func (p Port) cloneAllRepos() error {
749 buildConfig := p.MatchedConfig
750 clonedPorts = map[string]bool{}
751
752 if p.Parent == "" && (len(buildConfig.DevDependencies) > 0 || len(buildConfig.Dependencies) > 0) {
753 title := fmt.Sprintf("[check clone status of all repos: %s]", p.NameVersion())
754 color.Printf(color.Title, "\n%s\n", title)
755 }
756
757 for _, nameVersion := range buildConfig.DevDependencies {
758 // Skip Init() for already-cloned ports.
759 key := nameVersion + "[dev]"
760 if clonedPorts[key] {
761 continue
762 }
763
764 port := Port{
765 DevDep: true,
766 Parent: p.NameVersion(),
767 }
768 if err := port.Init(p.ctx, nameVersion); err != nil {
769 return err
770 }
771
772 // Ports with a checksum are restored from the artifact pkgcache, so
773 // their repo isn't cloned. Only checksum-less ports get cloned here.
774 if port.Package.Checksum == "" {
775 if err := port.Clone(); err != nil {
776 return err
777 }
778 }
779 clonedPorts[key] = true
780 color.Printf(color.Hint, "✔ %s\n", nameVersion)
781 }
782 for _, nameVersion := range buildConfig.Dependencies {
783 // Skip Init() for already-cloned ports.
784 key := nameVersion
785 if clonedPorts[key] {
786 continue
787 }
788
789 port := Port{
790 DevDep: p.DevDep,
791 HostDep: p.DevDep || p.HostDep,
792 Parent: p.NameVersion(),
793 }
794 if err := port.Init(p.ctx, nameVersion); err != nil {
795 return err
796 }
797
798 // Ports with a checksum are restored from the artifact pkgcache, so
799 // their repo isn't cloned. Only checksum-less ports get cloned here.
800 if port.Package.Checksum == "" {
801 if err := port.Clone(); err != nil {
802 return err
803 }
804 }
805 clonedPorts[key] = true

Callers 1

InstallFromSourceMethod · 0.95

Calls 5

NameVersionMethod · 0.95
InitMethod · 0.95
CloneMethod · 0.95
PrintfFunction · 0.92
SprintfMethod · 0.80

Tested by

no test coverage detected