Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-01-11 17:07:04 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-01-11 20:06:23 +0300
commit7396aa945a6ea7720d5dc77414ff02a4cbef7dfa (patch)
tree9882f02947ea693da48bc5936ab5ab80314f304c /common
parentd82cef5c53903dc52a353b3bd67d7ee11c55e4a4 (diff)
Add hugo.Deps
Fixes #8949
Diffstat (limited to 'common')
-rw-r--r--common/hugo/hugo.go35
-rw-r--r--common/hugo/hugo_test.go4
2 files changed, 36 insertions, 3 deletions
diff --git a/common/hugo/hugo.go b/common/hugo/hugo.go
index d8f92e298..c8db18afe 100644
--- a/common/hugo/hugo.go
+++ b/common/hugo/hugo.go
@@ -21,6 +21,7 @@ import (
"runtime/debug"
"sort"
"strings"
+ "time"
"github.com/gohugoio/hugo/hugofs/files"
@@ -57,6 +58,8 @@ type Info struct {
// This can also be set by the user.
// It can be any string, but it will be all lower case.
Environment string
+
+ deps []*Dependency
}
// Version returns the current version as a comparable version string.
@@ -77,8 +80,13 @@ func (i Info) IsExtended() bool {
return IsExtended
}
+// Deps gets a list of dependencies for this Hugo build.
+func (i Info) Deps() []*Dependency {
+ return i.deps
+}
+
// NewInfo creates a new Hugo Info object.
-func NewInfo(environment string) Info {
+func NewInfo(environment string, deps []*Dependency) Info {
if environment == "" {
environment = EnvironmentProduction
}
@@ -86,6 +94,7 @@ func NewInfo(environment string) Info {
CommitHash: commitHash,
BuildDate: buildDate,
Environment: environment,
+ deps: deps,
}
}
@@ -156,3 +165,27 @@ func IsRunningAsTest() bool {
}
return false
}
+
+// Dependency is a single dependency, which can be either a Hugo Module or a local theme.
+type Dependency struct {
+ // Returns the path to this module.
+ // This will either be the module path, e.g. "github.com/gohugoio/myshortcodes",
+ // or the path below your /theme folder, e.g. "mytheme".
+ Path string
+
+ // The module version.
+ Version string
+
+ // Whether this dependency is vendored.
+ Vendor bool
+
+ // Time version was created.
+ Time time.Time
+
+ // In the dependency tree, this is the first module that defines this module
+ // as a dependency.
+ Owner *Dependency
+
+ // Replaced by this dependency.
+ Replace *Dependency
+}
diff --git a/common/hugo/hugo_test.go b/common/hugo/hugo_test.go
index 0631be62c..ff36cab7c 100644
--- a/common/hugo/hugo_test.go
+++ b/common/hugo/hugo_test.go
@@ -23,7 +23,7 @@ import (
func TestHugoInfo(t *testing.T) {
c := qt.New(t)
- hugoInfo := NewInfo("")
+ hugoInfo := NewInfo("", nil)
c.Assert(hugoInfo.Version(), qt.Equals, CurrentVersion.Version())
c.Assert(fmt.Sprintf("%T", VersionString("")), qt.Equals, fmt.Sprintf("%T", hugoInfo.Version()))
@@ -34,6 +34,6 @@ func TestHugoInfo(t *testing.T) {
c.Assert(hugoInfo.IsProduction(), qt.Equals, true)
c.Assert(hugoInfo.IsExtended(), qt.Equals, IsExtended)
- devHugoInfo := NewInfo("development")
+ devHugoInfo := NewInfo("development", nil)
c.Assert(devHugoInfo.IsProduction(), qt.Equals, false)
}