github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/singletons/templates/load.go (about)

     1  package templates
     2  
     3  import (
     4  	"os"
     5  	"strings"
     6  
     7  	git "github.com/taubyte/go-simple-git"
     8  	"github.com/taubyte/tau-cli/states"
     9  )
    10  
    11  func loadTemplates() error {
    12  	_, err := os.Stat(templateFolder)
    13  	if err != nil {
    14  		err = os.Mkdir(templateFolder, 0755)
    15  		if err != nil {
    16  			// TODO verbose
    17  			return err
    18  		}
    19  	}
    20  
    21  	_templates = &templates{}
    22  
    23  	_templates.repository, err = git.New(states.Context,
    24  		git.Root(templateRepositoryFolder),
    25  		git.URL(TemplateRepoURL),
    26  	)
    27  	if err != nil {
    28  		// TODO verbose
    29  		return err
    30  	}
    31  
    32  	err = _templates.repository.Pull()
    33  	if err != nil && !strings.Contains(err.Error(), "already up-to-date") {
    34  		// TODO verbose
    35  		return err
    36  	}
    37  
    38  	return nil
    39  }