diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-01-11 15:07:04 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-01-11 18:06:23 +0100 |
commit | 7396aa945a6ea7720d5dc77414ff02a4cbef7dfa (patch) | |
tree | 9882f02947ea693da48bc5936ab5ab80314f304c /hugolib/site.go | |
parent | d82cef5c53903dc52a353b3bd67d7ee11c55e4a4 (diff) |
Add hugo.Deps
Fixes #8949
Diffstat (limited to 'hugolib/site.go')
-rw-r--r-- | hugolib/site.go | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/hugolib/site.go b/hugolib/site.go index 624630d80..13d5482b1 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -31,6 +31,7 @@ import ( "time" "github.com/gohugoio/hugo/common/types" + "github.com/gohugoio/hugo/modules" "golang.org/x/text/unicode/norm" "github.com/gohugoio/hugo/common/paths" @@ -1333,6 +1334,32 @@ func (s *Site) initializeSiteInfo() error { } } + // Assemble dependencies to be used in hugo.Deps. + // TODO(bep) another reminder: We need to clean up this Site vs HugoSites construct. + var deps []*hugo.Dependency + var depFromMod func(m modules.Module) *hugo.Dependency + depFromMod = func(m modules.Module) *hugo.Dependency { + dep := &hugo.Dependency{ + Path: m.Path(), + Version: m.Version(), + Time: m.Time(), + Vendor: m.Vendor(), + } + + // These are pointers, but this all came from JSON so there's no recursive navigation, + // so just create new values. + if m.Replace() != nil { + dep.Replace = depFromMod(m.Replace()) + } + if m.Owner() != nil { + dep.Owner = depFromMod(m.Owner()) + } + return dep + } + for _, m := range s.Paths.AllModules { + deps = append(deps, depFromMod(m)) + } + s.Info = &SiteInfo{ title: lang.GetString("title"), Author: lang.GetStringMap("author"), @@ -1351,7 +1378,7 @@ func (s *Site) initializeSiteInfo() error { permalinks: permalinks, owner: s.h, s: s, - hugoInfo: hugo.NewInfo(s.Cfg.GetString("environment")), + hugoInfo: hugo.NewInfo(s.Cfg.GetString("environment"), deps), } rssOutputFormat, found := s.outputFormats[page.KindHome].GetByName(output.RSSFormat.Name) |