From 36bd970589e92c09709aa778f9ff02d16fde7e08 Mon Sep 17 00:00:00 2001 From: Steve Manuel Date: Tue, 17 Jan 2017 16:31:38 -0800 Subject: adding version (in general ponzu.json file) and upgrade command to backup, clone new ponzu and restore files to keep up to date as ponzu project is updated --- cmd/ponzu/main.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'cmd/ponzu/main.go') diff --git a/cmd/ponzu/main.go b/cmd/ponzu/main.go index e90d318..77e6708 100644 --- a/cmd/ponzu/main.go +++ b/cmd/ponzu/main.go @@ -216,6 +216,49 @@ func main() { fmt.Println("\nvisit `/admin` to get started.") log.Fatalln(http.ListenAndServe(fmt.Sprintf(":%d", port), nil)) + case "version", "v": + // read ponzu.json value to Stdout + + p, err := ponzu() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + fmt.Fprintf(os.Stdout, "Ponzu v%s\n", p["version"]) + + case "upgrade": + // confirm since upgrade will replace Ponzu core files + path, err := os.Getwd() + if err != nil { + fmt.Println("Failed to find current directory.", err) + os.Exit(1) + } + + fmt.Println("Only files you added to this directory, 'addons' and 'content' will be preserved.") + fmt.Println("Upgrade this project? (y/N):") + + answer, err := getAnswer() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + switch answer { + case "n", "no", "\r\n", "\n", "": + fmt.Println("") + + case "y", "yes": + err := upgradePonzuProjectDir(path) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + default: + fmt.Println("Input not recognized. No upgrade made. Answer as 'y' or 'n' only.") + } + case "": fmt.Println(usage) fmt.Println(usageHelp) -- cgit v1.2.3