github.com/omnigres/cli@v0.1.4/cmd/path.go (about)

     1  package cmd
     2  
     3  import (
     4  	"github.com/omnigres/cli/internal/fileutils"
     5  	"github.com/omnigres/cli/orb"
     6  	"os"
     7  	"path/filepath"
     8  )
     9  
    10  func getOrbPath(createIfNotExists bool) (path string, err error) {
    11  	cwd, err := os.Getwd()
    12  	if err != nil {
    13  		return
    14  	}
    15  	path = workspace
    16  	if filepath.IsLocal(workspace) {
    17  		path, err = filepath.Abs(filepath.Join(cwd, workspace))
    18  		if err != nil {
    19  			return
    20  		}
    21  	}
    22  	if createIfNotExists {
    23  		err = fileutils.CreateIfNotExists(path, true)
    24  		if err != nil {
    25  			return
    26  		}
    27  	}
    28  	return
    29  }
    30  
    31  func getOrbCluster() (cluster orb.OrbCluster, err error) {
    32  	var orbPath string
    33  	orbPath, err = getOrbPath(false)
    34  	if err != nil {
    35  		return
    36  	}
    37  	var cfg *orb.Config
    38  	cfg, err = orb.LoadConfig(orbPath)
    39  	if err != nil {
    40  		return
    41  	}
    42  	cluster, err = orb.NewDockerOrbCluster()
    43  	if err != nil {
    44  		return
    45  	}
    46  	err = cluster.Configure(orb.OrbOptions{Config: cfg, Path: orbPath})
    47  	if err != nil {
    48  		return
    49  	}
    50  	return
    51  }