mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
parent
7fdd2b95e2
commit
9b83f45b6d
2 changed files with 45 additions and 1 deletions
|
@ -16,6 +16,8 @@ package commands
|
||||||
import (
|
import (
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
|
"github.com/gohugoio/hugo/common/hugo"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
jww "github.com/spf13/jwalterweatherman"
|
jww "github.com/spf13/jwalterweatherman"
|
||||||
)
|
)
|
||||||
|
@ -31,15 +33,28 @@ func newEnvCmd() *envCmd {
|
||||||
baseCmd: newBaseCmd(&cobra.Command{
|
baseCmd: newBaseCmd(&cobra.Command{
|
||||||
Use: "env",
|
Use: "env",
|
||||||
Short: "Print Hugo version and environment info",
|
Short: "Print Hugo version and environment info",
|
||||||
Long: `Print Hugo version and environment info. This is useful in Hugo bug reports.`,
|
Long: `Print Hugo version and environment info. This is useful in Hugo bug reports.
|
||||||
|
|
||||||
|
If you add the -v flag, you will get a full dependency list.
|
||||||
|
`,
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
printHugoVersion()
|
printHugoVersion()
|
||||||
jww.FEEDBACK.Printf("GOOS=%q\n", runtime.GOOS)
|
jww.FEEDBACK.Printf("GOOS=%q\n", runtime.GOOS)
|
||||||
jww.FEEDBACK.Printf("GOARCH=%q\n", runtime.GOARCH)
|
jww.FEEDBACK.Printf("GOARCH=%q\n", runtime.GOARCH)
|
||||||
jww.FEEDBACK.Printf("GOVERSION=%q\n", runtime.Version())
|
jww.FEEDBACK.Printf("GOVERSION=%q\n", runtime.Version())
|
||||||
|
|
||||||
|
isVerbose, _ := cmd.Flags().GetBool("verbose")
|
||||||
|
|
||||||
|
if isVerbose {
|
||||||
|
deps := hugo.GetDependencyList()
|
||||||
|
for _, dep := range deps {
|
||||||
|
jww.FEEDBACK.Printf("%s\n", dep)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,8 @@ import (
|
||||||
"html/template"
|
"html/template"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"runtime/debug"
|
||||||
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/gohugoio/hugo/hugofs/files"
|
"github.com/gohugoio/hugo/hugofs/files"
|
||||||
|
@ -107,3 +109,30 @@ func GetExecEnviron(workDir string, cfg config.Provider, fs afero.Fs) []string {
|
||||||
|
|
||||||
return env
|
return env
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDependencyList returns a sorted dependency list on the format package="version".
|
||||||
|
// It includes both Go dependencies and (a manually maintained) list of C(++) dependencies.
|
||||||
|
func GetDependencyList() []string {
|
||||||
|
var deps []string
|
||||||
|
|
||||||
|
formatDep := func(path, version string) string {
|
||||||
|
return fmt.Sprintf("%s=%q", path, version)
|
||||||
|
}
|
||||||
|
|
||||||
|
if IsExtended {
|
||||||
|
deps = append(deps, formatDep("github.com/sass/libsass", "3.6.4"))
|
||||||
|
}
|
||||||
|
|
||||||
|
bi, ok := debug.ReadBuildInfo()
|
||||||
|
if !ok {
|
||||||
|
return deps
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, dep := range bi.Deps {
|
||||||
|
deps = append(deps, formatDep(dep.Path, dep.Version))
|
||||||
|
}
|
||||||
|
|
||||||
|
sort.Strings(deps)
|
||||||
|
|
||||||
|
return deps
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue