From fc73cc3156114f83958d86c02846c060882a35d6 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Wed, 5 May 2021 11:38:49 +0200 Subject: [PATCH] Add Config Cache --- main.go | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index 3952e7f..9eeb2c6 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,9 @@ package main import ( + "encoding/json" "fmt" + "io/ioutil" "os" "github.com/AlecAivazis/survey/v2" @@ -21,16 +23,41 @@ type Cache struct { pullBaseBranch string `json:pullBaseBranch` } -func main() { +func loadCache() (cache *Cache) { // default values - var values = Cache{ + cache = &Cache{ token: "XXXXXXXXXXXXXXXXXX", - baseURL: "https://inf-git.fh-rosenheim.de", - orgName: "vv-inf-sose21", + baseURL: "https://gitlab.com", + orgName: "organisation", repoExclude: "exclude*", pullBaseBranch: "devel*", } + data, err := ioutil.ReadFile(".cache.json") + if err != nil { + return + } + var c Cache + if err := json.Unmarshal(data, &c); err != nil { + return + } + return &c +} + +func saveCache(cache *Cache) { + data, err := json.Marshal(cache) + if err != nil { + fmt.Printf("ERROR: marshal cache: %v\n", err) + } + err = ioutil.WriteFile(".cache.json", data, 0666) + if err != nil { + fmt.Printf("ERROR: save cache: %v\n", err) + } +} + +func main() { + values := loadCache() + // ask for infos if err := survey.AskOne(&survey.Input{Message: "GitLab Base URL:", Default: values.baseURL}, &values.baseURL); err != nil { os.Exit(1) @@ -48,6 +75,8 @@ func main() { os.Exit(1) } + saveCache(values) + // Compile glob regex excludeRule, err := glob.Compile(values.repoExclude) if err != nil {