URI: 
       commands: Print "Webserver is ..." right before "Total ..." - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit c8e400b621ea7d44e522fb9bfa66d992ccb9ca84
   DIR parent 9dd687027f2b37bdb94d51fed403066b9f7b9a45
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Sat, 20 Apr 2024 15:36:54 +0200
       
       commands: Print "Webserver is ..." right before "Total ..."
       
       Also fix it so
       
       * It's not printed when running `hugo -w`
       * It'd printed for all kinds of rebuilds
       
       Fixes #12384
       
       Diffstat:
         M commands/commandeer.go              |       6 +++---
         M commands/hugobuilder.go             |      16 ++++++++++++++--
         M hugolib/hugo_sites_build.go         |       4 +---
       
       3 files changed, 18 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/commands/commandeer.go b/commands/commandeer.go
       @@ -327,12 +327,12 @@ func (r *rootCommand) Name() string {
        }
        
        func (r *rootCommand) Run(ctx context.Context, cd *simplecobra.Commandeer, args []string) error {
       +        b := newHugoBuilder(r, nil)
       +
                if !r.buildWatch {
       -                defer r.timeTrack(time.Now(), "Total")
       +                defer b.postBuild("Total", time.Now())
                }
        
       -        b := newHugoBuilder(r, nil)
       -
                if err := b.loadConfig(cd, false); err != nil {
                        return err
                }
   DIR diff --git a/commands/hugobuilder.go b/commands/hugobuilder.go
       @@ -75,9 +75,14 @@ type hugoBuilder struct {
                errState hugoBuilderErrState
        }
        
       +var errConfigNotSet = errors.New("config not set")
       +
        func (c *hugoBuilder) withConfE(fn func(conf *commonConfig) error) error {
                c.confmu.Lock()
                defer c.confmu.Unlock()
       +        if c.conf == nil {
       +                return errConfigNotSet
       +        }
                return fn(c.conf)
        }
        
       @@ -585,7 +590,7 @@ func (c *hugoBuilder) fullRebuild(changeType string) {
                                time.Sleep(2 * time.Second)
                        }()
        
       -                defer c.r.timeTrack(time.Now(), "Rebuilt")
       +                defer c.postBuild("Rebuilt", time.Now())
        
                        err := c.reloadConfig()
                        if err != nil {
       @@ -855,7 +860,7 @@ func (c *hugoBuilder) handleEvents(watcher *watcher.Batcher,
                        c.changeDetector.PrepareNew()
        
                        func() {
       -                        defer c.r.timeTrack(time.Now(), "Total")
       +                        defer c.postBuild("Total", time.Now())
                                if err := c.rebuildSites(dynamicEvents); err != nil {
                                        c.handleBuildErr(err, "Rebuild failed")
                                }
       @@ -901,6 +906,13 @@ func (c *hugoBuilder) handleEvents(watcher *watcher.Batcher,
                }
        }
        
       +func (c *hugoBuilder) postBuild(what string, start time.Time) {
       +        if h, err := c.hugo(); err == nil && h.Conf.Running() {
       +                h.LogServerAddresses()
       +        }
       +        c.r.timeTrack(start, what)
       +}
       +
        func (c *hugoBuilder) hugo() (*hugolib.HugoSites, error) {
                var h *hugolib.HugoSites
                if err := c.withConfE(func(conf *commonConfig) error {
   DIR diff --git a/hugolib/hugo_sites_build.go b/hugolib/hugo_sites_build.go
       @@ -951,12 +951,10 @@ func (h *HugoSites) processPartial(ctx context.Context, l logg.LevelLogger, conf
                        }
                }
        
       -        h.logServerAddresses()
       -
                return nil
        }
        
       -func (h *HugoSites) logServerAddresses() {
       +func (h *HugoSites) LogServerAddresses() {
                if h.hugoInfo.IsMultihost() {
                        for _, s := range h.Sites {
                                h.Log.Printf("Web Server is available at %s (bind address %s) %s\n", s.conf.C.BaseURL, s.conf.C.ServerInterface, s.Language().Lang)