ref: 2a4ed1c49259d170a2aa985a603c8a5bed00ff67
parent: 80367ea218d653dd21010695d71ddcaa001873da
author: Bjørn Erik Pedersen <[email protected]>
date: Wed Oct 5 06:20:25 EDT 2016
Add hugo env command Useful for bug reports. Fixes #2523
--- /dev/null
+++ b/commands/env.go
@@ -1,0 +1,35 @@
+// Copyright 2016 The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package commands
+
+import (
+ "fmt"
+ "runtime"
+
+ "github.com/spf13/cobra"
+)
+
+var envCmd = &cobra.Command{
+ Use: "env",
+ Short: "Print Hugo version and environment info",
+ Long: `Print Hugo version and environment info. This is useful in Hugo bug reports.`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ printHugoVersion()
+ fmt.Printf("GOOS=%q\n", runtime.GOOS)
+ fmt.Printf("GOARCH=%q\n", runtime.GOARCH)
+ fmt.Printf("GOVERSION=%q\n", runtime.Version())
+
+ return nil
+ },
+}
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -185,6 +185,7 @@
func AddCommands() {
HugoCmd.AddCommand(serverCmd)
HugoCmd.AddCommand(versionCmd)
+ HugoCmd.AddCommand(envCmd)
HugoCmd.AddCommand(configCmd)
HugoCmd.AddCommand(checkCmd)
HugoCmd.AddCommand(benchmarkCmd)
--- a/commands/version.go
+++ b/commands/version.go
@@ -31,19 +31,23 @@
Short: "Print the version number of Hugo",
Long: `All software has versions. This is Hugo's.`,
RunE: func(cmd *cobra.Command, args []string) error {
- if hugolib.BuildDate == "" {
- setBuildDate() // set the build date from executable's mdate
- } else {
- formatBuildDate() // format the compile time
- }
- if hugolib.CommitHash == "" {
- fmt.Printf("Hugo Static Site Generator v%s BuildDate: %s\n", helpers.HugoVersion(), hugolib.BuildDate)
- } else {
- fmt.Printf("Hugo Static Site Generator v%s-%s BuildDate: %s\n", helpers.HugoVersion(), strings.ToUpper(hugolib.CommitHash), hugolib.BuildDate)
- }
+ printHugoVersion()
return nil
},
+}
+
+func printHugoVersion() {
+ if hugolib.BuildDate == "" {
+ setBuildDate() // set the build date from executable's mdate
+ } else {
+ formatBuildDate() // format the compile time
+ }
+ if hugolib.CommitHash == "" {
+ fmt.Printf("Hugo Static Site Generator v%s BuildDate: %s\n", helpers.HugoVersion(), hugolib.BuildDate)
+ } else {
+ fmt.Printf("Hugo Static Site Generator v%s-%s BuildDate: %s\n", helpers.HugoVersion(), strings.ToUpper(hugolib.CommitHash), hugolib.BuildDate)
+ }
}
// setBuildDate checks the ModTime of the Hugo executable and returns it as a