From 6cd2110ab295f598907a18da91e34d31407c1d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sun, 27 Jun 2021 18:00:20 +0200 Subject: [PATCH] commands: Add version time to "hugo config mounts" --- commands/config.go | 5 +++++ modules/module.go | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/commands/config.go b/commands/config.go index 56692651cc6..2b2920cdd92 100644 --- a/commands/config.go +++ b/commands/config.go @@ -21,6 +21,7 @@ import ( "regexp" "sort" "strings" + "time" "github.com/gohugoio/hugo/common/maps" @@ -146,6 +147,7 @@ func (m *modMounts) MarshalJSON() ([]byte, error) { return json.Marshal(&struct { Path string `json:"path"` Version string `json:"version"` + Time *time.Time `json:"time"` Owner string `json:"owner"` Dir string `json:"dir"` Meta map[string]interface{} `json:"meta"` @@ -155,6 +157,7 @@ func (m *modMounts) MarshalJSON() ([]byte, error) { }{ Path: m.m.Path(), Version: m.m.Version(), + Time: m.m.Time(), Owner: ownerPath, Dir: m.m.Dir(), Meta: config.Params, @@ -166,12 +169,14 @@ func (m *modMounts) MarshalJSON() ([]byte, error) { return json.Marshal(&struct { Path string `json:"path"` Version string `json:"version"` + Time *time.Time `json:"time"` Owner string `json:"owner"` Dir string `json:"dir"` Mounts []modMount `json:"mounts"` }{ Path: m.m.Path(), Version: m.m.Version(), + Time: m.m.Time(), Owner: ownerPath, Dir: m.m.Dir(), Mounts: mounts, diff --git a/modules/module.go b/modules/module.go index c3343c820d8..a6feaab736b 100644 --- a/modules/module.go +++ b/modules/module.go @@ -17,6 +17,8 @@ package modules import ( + "time" + "github.com/gohugoio/hugo/config" ) @@ -65,6 +67,9 @@ type Module interface { // The module version. Version() string + // Time version was created. + Time() *time.Time + // Whether this module's dir is a watch candidate. Watch() bool } @@ -154,6 +159,14 @@ func (m *moduleAdapter) Version() string { return m.gomod.Version } +func (m *moduleAdapter) Time() *time.Time { + if !m.IsGoMod() || m.gomod.Time == nil { + return nil + } + + return m.gomod.Time +} + func (m *moduleAdapter) Watch() bool { if m.Owner() == nil { // Main project