"github.com/gohugoio/hugo/common/hstrings"
"github.com/gohugoio/hugo/common/htime"
+ "github.com/gohugoio/hugo/common/hugo"
"github.com/gohugoio/hugo/common/loggers"
"github.com/gohugoio/hugo/common/paths"
"github.com/gohugoio/hugo/common/types"
}
// Set up the global logger early to allow info deprecations during config load.
loggers.SetGlobalLogger(r.logger)
+ hugo.WarnDeprecatedEdition()
r.changesFromBuild = make(chan []identity.Identity, 10)
return !strings.Contains(DartSassBinaryName, "embedded")
}
+// WarnDeprecatedEdition emits a deprecation warning if the running binary is
+// the extended or extended_withdeploy edition.
+func WarnDeprecatedEdition() {
+ if IsExtended {
+ if IsWithdeploy {
+ Deprecate("the extended_withdeploy edition of the Hugo executable", "Use the withdeploy edition instead.", "v0.161.0")
+ } else {
+ Deprecate("the extended edition of the Hugo executable", "Use the standard edition instead.", "v0.161.0")
+ }
+ }
+}
+
// Deprecate informs about a deprecation starting at the given version.
//
// A deprecation typically needs a simple change in the template, but doing so will make the template incompatible with older versions.
package hugo
import (
+ "bytes"
"context"
"testing"
"github.com/bep/logg"
qt "github.com/frankban/quicktest"
+ "github.com/gohugoio/hugo/common/loggers"
)
func TestDeprecationLogLevelFromVersion(t *testing.T) {
c.Assert(bi.GoVersion, qt.Not(qt.Equals), "")
}
}
+
+func TestWarnDeprecatedEdition(t *testing.T) {
+ c := qt.New(t)
+
+ origExtended, origWithdeploy := IsExtended, IsWithdeploy
+ t.Cleanup(func() {
+ IsExtended = origExtended
+ IsWithdeploy = origWithdeploy
+ loggers.SetGlobalLogger(nil)
+ })
+
+ var buf bytes.Buffer
+ loggers.SetGlobalLogger(loggers.New(loggers.Options{Level: logg.LevelInfo, StdErr: &buf}))
+
+ IsExtended = true
+ IsWithdeploy = false
+ WarnDeprecatedEdition()
+ c.Assert(buf.String(), qt.Contains, "the extended edition of the Hugo executable")
+ c.Assert(buf.String(), qt.Contains, "Use the standard edition instead")
+
+ buf.Reset()
+
+ IsExtended = true
+ IsWithdeploy = true
+ WarnDeprecatedEdition()
+ c.Assert(buf.String(), qt.Contains, "the extended_withdeploy edition of the Hugo executable")
+ c.Assert(buf.String(), qt.Contains, "Use the withdeploy edition instead")
+
+ buf.Reset()
+
+ IsExtended = false
+ IsWithdeploy = false
+ WarnDeprecatedEdition()
+ c.Assert(buf.String(), qt.Equals, "")
+}