]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Revert "modules: Throttle the "downloading modules …" log entries"
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 29 Oct 2023 09:57:27 +0000 (10:57 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 29 Oct 2023 09:57:27 +0000 (10:57 +0100)
This reverts commit 66904097e02fc3e846ec87a9db023df92cf613ba.

modules/client.go
modules/collect.go

index b3dad498b97c1f4abeb4d09a4314f12d42c7e417..b9a2a48d4d2d1d9d3096d7801dec80b85544ecc6 100644 (file)
@@ -18,7 +18,6 @@ import (
        "bytes"
        "context"
        "encoding/json"
-       "errors"
        "fmt"
        "io"
        "os"
@@ -47,6 +46,8 @@ import (
 
        "github.com/gohugoio/hugo/common/hugio"
 
+       "errors"
+
        "github.com/spf13/afero"
 )
 
@@ -104,25 +105,10 @@ func NewClient(cfg ClientConfig) *Client {
                noVendor, _ = hglob.GetGlob(hglob.NormalizePath(cfg.ModuleConfig.NoVendor))
        }
 
-       var throttleSince time.Time
-       throttle := func(f func()) {
-               if throttleSince.IsZero() {
-                       throttleSince = time.Now()
-                       f()
-                       return
-               }
-               if time.Since(throttleSince) < 6*time.Second {
-                       return
-               }
-               throttleSince = time.Now()
-               f()
-       }
-
        return &Client{
                fs:                fs,
                ccfg:              cfg,
                logger:            logger,
-               throttle:          throttle,
                noVendor:          noVendor,
                moduleConfig:      mcfg,
                environ:           env,
@@ -132,9 +118,8 @@ func NewClient(cfg ClientConfig) *Client {
 
 // Client contains most of the API provided by this package.
 type Client struct {
-       fs       afero.Fs
-       logger   loggers.Logger
-       throttle func(f func())
+       fs     afero.Fs
+       logger loggers.Logger
 
        noVendor glob.Glob
 
@@ -214,7 +199,7 @@ func (c *Client) Vendor() error {
        if err := c.rmVendorDir(vendorDir); err != nil {
                return err
        }
-       if err := c.fs.MkdirAll(vendorDir, 0o755); err != nil {
+       if err := c.fs.MkdirAll(vendorDir, 0755); err != nil {
                return err
        }
 
@@ -275,7 +260,7 @@ func (c *Client) Vendor() error {
                        } else {
                                targetDir := filepath.Dir(targetFilename)
 
-                               if err := c.fs.MkdirAll(targetDir, 0o755); err != nil {
+                               if err := c.fs.MkdirAll(targetDir, 0755); err != nil {
                                        return fmt.Errorf("failed to make target dir: %w", err)
                                }
 
@@ -318,7 +303,7 @@ func (c *Client) Vendor() error {
        }
 
        if modulesContent.Len() > 0 {
-               if err := afero.WriteFile(c.fs, filepath.Join(vendorDir, vendorModulesFilename), modulesContent.Bytes(), 0o666); err != nil {
+               if err := afero.WriteFile(c.fs, filepath.Join(vendorDir, vendorModulesFilename), modulesContent.Bytes(), 0666); err != nil {
                        return err
                }
        }
@@ -573,7 +558,7 @@ func (c *Client) rewriteGoMod(name string, isGoMod map[string]bool) error {
                return err
        }
        if data != nil {
-               if err := afero.WriteFile(c.fs, filepath.Join(c.ccfg.WorkingDir, name), data, 0o666); err != nil {
+               if err := afero.WriteFile(c.fs, filepath.Join(c.ccfg.WorkingDir, name), data, 0666); err != nil {
                        return err
                }
        }
@@ -651,8 +636,7 @@ func (c *Client) rmVendorDir(vendorDir string) error {
 func (c *Client) runGo(
        ctx context.Context,
        stdout io.Writer,
-       args ...string,
-) error {
+       args ...string) error {
        if c.goBinaryStatus != 0 {
                return nil
        }
index 148886607c9ddff7bc23926ffe84a7d12774f67b..5b5418bcd0362b145655fdf62a9c7ac3b8bb47c9 100644 (file)
@@ -15,7 +15,6 @@ package modules
 
 import (
        "bufio"
-       "errors"
        "fmt"
        "os"
        "path/filepath"
@@ -23,6 +22,7 @@ import (
        "strings"
        "time"
 
+       "github.com/bep/debounce"
        "github.com/gohugoio/hugo/common/herrors"
        "github.com/gohugoio/hugo/common/loggers"
 
@@ -37,6 +37,8 @@ import (
 
        "github.com/rogpeppe/go-internal/module"
 
+       "errors"
+
        "github.com/gohugoio/hugo/config"
        "github.com/spf13/afero"
 )
@@ -122,6 +124,7 @@ func (m ModulesConfig) HasConfigFile() bool {
                if len(mod.ConfigFilenames()) > 0 {
                        return true
                }
+
        }
        return false
 }
@@ -217,6 +220,7 @@ func (c *collector) getVendoredDir(path string) (vendoredModule, bool) {
 }
 
 func (c *collector) add(owner *moduleAdapter, moduleImport Import) (*moduleAdapter, error) {
+
        var (
                mod       *goModule
                moduleDir string
@@ -505,10 +509,11 @@ LOOP:
 
 func (c *collector) collect() {
        defer c.logger.PrintTimerIfDelayed(time.Now(), "hugo: collected modules")
-
-       c.throttle(func() {
+       d := debounce.New(2 * time.Second)
+       d(func() {
                c.logger.Println("hugo: downloading modules …")
        })
+       defer d(func() {})
 
        if err := c.initModules(); err != nil {
                c.err = err
@@ -664,6 +669,7 @@ func (c *collector) normalizeMounts(owner *moduleAdapter, mounts []Mount) ([]Mou
                        } else {
                                continue
                        }
+
                }
 
                // Verify that target points to one of the predefined component dirs