commands: Add some more info to "hugo config mounts"

* Add owner path and version.
* Also add thme meta info and Hugo version when run with -v flag
This commit is contained in:
Bjørn Erik Pedersen 2021-06-27 15:58:24 +02:00
parent 19aa95fc7f
commit 6a365c2712
No known key found for this signature in database
GPG Key ID: 330E6E2BD4859D8F
1 changed files with 41 additions and 8 deletions

View File

@ -69,7 +69,7 @@ func (c *configCmd) printMounts(cmd *cobra.Command, args []string) error {
allModules := cfg.Cfg.Get("allmodules").(modules.Modules)
for _, m := range allModules {
if err := parser.InterfaceToConfig(&modMounts{m: m}, metadecoders.JSON, os.Stdout); err != nil {
if err := parser.InterfaceToConfig(&modMounts{m: m, verbose: c.verbose}, metadecoders.JSON, os.Stdout); err != nil {
return err
}
}
@ -115,7 +115,8 @@ func (c *configCmd) printConfig(cmd *cobra.Command, args []string) error {
}
type modMounts struct {
m modules.Module
verbose bool
m modules.Module
}
type modMount struct {
@ -135,13 +136,45 @@ func (m *modMounts) MarshalJSON() ([]byte, error) {
})
}
var ownerPath string
if m.m.Owner() != nil {
ownerPath = m.m.Owner().Path()
}
if m.verbose {
config := m.m.Config()
return json.Marshal(&struct {
Path string `json:"path"`
Version string `json:"version"`
Owner string `json:"owner"`
Dir string `json:"dir"`
Meta map[string]interface{} `json:"meta"`
HugoVersion modules.HugoVersion `json:"hugoVersion"`
Mounts []modMount `json:"mounts"`
}{
Path: m.m.Path(),
Version: m.m.Version(),
Owner: ownerPath,
Dir: m.m.Dir(),
Meta: config.Params,
HugoVersion: config.HugoVersion,
Mounts: mounts,
})
}
return json.Marshal(&struct {
Path string `json:"path"`
Dir string `json:"dir"`
Mounts []modMount `json:"mounts"`
Path string `json:"path"`
Version string `json:"version"`
Owner string `json:"owner"`
Dir string `json:"dir"`
Mounts []modMount `json:"mounts"`
}{
Path: m.m.Path(),
Dir: m.m.Dir(),
Mounts: mounts,
Path: m.m.Path(),
Version: m.m.Version(),
Owner: ownerPath,
Dir: m.m.Dir(),
Mounts: mounts,
})
}