github.com/searchspring/haus@v0.1.8-0.20200414161854-a7ca8bb9ea93/main.go (about)

     1  package main
     2  
     3  import(
     4  	"log"
     5  	"fmt"
     6  	"flag"
     7  	"strings"
     8  	"path/filepath"
     9  
    10  	"github.com/searchspring/haus/fileutils"
    11  	"github.com/searchspring/haus/app"
    12  )
    13  
    14  var configfile string
    15  var path string
    16  var branch string
    17  var version bool
    18  const (
    19  	versioninfo = "v0.1.7"
    20  )
    21  
    22  type vars map[string]string
    23  var variables vars
    24  
    25  func ( v *vars ) String() string {
    26  	return fmt.Sprintf("%s", *v)
    27  }
    28  
    29  func ( v *vars ) Set(value string) error {
    30  	keyval := strings.Split(value, "=")
    31  	(*v)[keyval[0]] = keyval[1]
    32  	return nil
    33  }
    34  
    35  func main(){
    36  	variables = make(map[string]string)
    37  	flag.StringVar(&configfile, "config", "haus.yml", "YAML config file")
    38  	flag.StringVar(&path, "path", "./hauscfg", "Path to generate files in")
    39  	flag.StringVar(&branch, "branch", "master", "git branch for hausrepo")
    40  	flag.Var(&variables, "variables", "variables passed to templates")
    41  	flag.BoolVar(&version, "version",false,"haus version")
    42  	flag.Parse()
    43  
    44  	if version == true {
    45  		fmt.Printf("haus version %s\n", versioninfo)
    46  		return
    47  	}
    48  
    49  	abspath,err := filepath.Abs(path)
    50  	if err != nil {
    51  		log.Fatalf("\n%s",err)
    52  	}
    53  
    54  	config,err := haus.ReadConfig(configfile,"~/.hauscfg.yml", branch, abspath, variables)
    55  	if err != nil {
    56  		log.Fatalf("\n%s",err)
    57  	}
    58  
    59  	_,err = fileutils.CreatePath(config.Path)
    60  	if err != nil {
    61  		log.Fatalf("\n%s",err)
    62  	}
    63  	
    64  	haus := haus.Haus{
    65  		Config: *config,
    66  	}
    67  	err = haus.Run()
    68  	if err != nil {
    69  		log.Fatalf("\n%s",err)
    70  	}
    71  }
    72