mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-28 23:52:04 -05:00
parent
80367ea218
commit
2a4ed1c492
3 changed files with 50 additions and 10 deletions
35
commands/env.go
Normal file
35
commands/env.go
Normal file
|
@ -0,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
|
||||||
|
},
|
||||||
|
}
|
|
@ -185,6 +185,7 @@ func Execute() {
|
||||||
func AddCommands() {
|
func AddCommands() {
|
||||||
HugoCmd.AddCommand(serverCmd)
|
HugoCmd.AddCommand(serverCmd)
|
||||||
HugoCmd.AddCommand(versionCmd)
|
HugoCmd.AddCommand(versionCmd)
|
||||||
|
HugoCmd.AddCommand(envCmd)
|
||||||
HugoCmd.AddCommand(configCmd)
|
HugoCmd.AddCommand(configCmd)
|
||||||
HugoCmd.AddCommand(checkCmd)
|
HugoCmd.AddCommand(checkCmd)
|
||||||
HugoCmd.AddCommand(benchmarkCmd)
|
HugoCmd.AddCommand(benchmarkCmd)
|
||||||
|
|
|
@ -31,21 +31,25 @@ var versionCmd = &cobra.Command{
|
||||||
Short: "Print the version number of Hugo",
|
Short: "Print the version number of Hugo",
|
||||||
Long: `All software has versions. This is Hugo's.`,
|
Long: `All software has versions. This is Hugo's.`,
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
if hugolib.BuildDate == "" {
|
printHugoVersion()
|
||||||
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)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
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
|
// setBuildDate checks the ModTime of the Hugo executable and returns it as a
|
||||||
// formatted string. This assumes that the executable name is Hugo, if it does
|
// formatted string. This assumes that the executable name is Hugo, if it does
|
||||||
// not exist, an empty string will be returned. This is only called if the
|
// not exist, an empty string will be returned. This is only called if the
|
||||||
|
|
Loading…
Reference in a new issue