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

Method clonePorts

configs/celer.go:448–492  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

446}
447
448func (c *Celer) clonePorts() error {
449 var cloneRequired bool
450
451 portsDir := filepath.Join(dirs.WorkspaceDir, "ports")
452 if !fileio.PathExists(portsDir) {
453 cloneRequired = true
454 } else {
455 entities, err := os.ReadDir(portsDir)
456 if err != nil {
457 return err
458 }
459
460 if len(entities) == 0 {
461 cloneRequired = true
462 }
463 }
464
465 if cloneRequired {
466 // Remove ports dir before clone it.
467 if err := os.RemoveAll(portsDir); err != nil {
468 return err
469 }
470
471 // Clone ports repo.
472 if c.Main.Offline {
473 return fmt.Errorf("offline is on, cloning ports is aborted")
474 }
475
476 portsRepoUrl := c.portsRepoUrl()
477 if err := fileio.CheckAccessible(portsRepoUrl); err != nil {
478 return fmt.Errorf("%s is not accessible, cloning ports is aborted", portsRepoUrl)
479 }
480
481 // Make sure git available.
482 if err := buildtools.CheckTools(c, "git"); err != nil {
483 return err
484 }
485
486 if err := git.CloneRepo("[clone ports]", "ports repo", portsRepoUrl, defaultPortRepoBranch, 0, portsDir); err != nil {
487 return err
488 }
489 }
490
491 return nil
492}
493
494// loadProjectVars loads project-level variables into global ExprVars.
495func (c *Celer) loadProjectVars() {

Callers 1

InitWithPlatformMethod · 0.95

Calls 5

portsRepoUrlMethod · 0.95
PathExistsFunction · 0.92
CheckAccessibleFunction · 0.92
CheckToolsFunction · 0.92
CloneRepoFunction · 0.92

Tested by

no test coverage detected