hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 56ab83a59712725e1ce0dd3fd516cc7c190c8478
parent dad0dc8d8681c1aa745d8cf4728bbb6429431e3b
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Tue,  4 Jan 2022 11:22:57 +0100

Make the deprecated Page/File methods (from Hugo 0.55) ERROR

Closes #9346

Diffstat:
Mresources/page/page_generate/generate_page_wrappers.go | 9+++++++--
Mresources/page/page_wrappers.autogen.go | 32++++++++++++++++----------------
Mresources/page/zero_file.autogen.go | 26+++++++++++++-------------
Mresources/resource/resourcetypes.go | 7++++++-
4 files changed, 42 insertions(+), 32 deletions(-)
diff --git a/resources/page/page_generate/generate_page_wrappers.go b/resources/page/page_generate/generate_page_wrappers.go
@@ -26,6 +26,7 @@ import (
 
 	"github.com/gohugoio/hugo/codegen"
 	"github.com/gohugoio/hugo/resources/page"
+	"github.com/gohugoio/hugo/resources/resource"
 	"github.com/gohugoio/hugo/source"
 )
 
@@ -88,6 +89,8 @@ func generateMarshalJSON(c *codegen.Inspector) error {
 		// Leave this out for now. We need to revisit the author issue.
 		reflect.TypeOf((*page.AuthorProvider)(nil)).Elem(),
 
+		reflect.TypeOf((*resource.ErrProvider)(nil)).Elem(),
+
 		// navigation.PageMenus
 
 		// Prevent loops.
@@ -163,7 +166,7 @@ func generateDeprecatedWrappers(c *codegen.Inspector) error {
 			}
 		}
 
-		return fmt.Sprintf("helpers.Deprecated(%q, %q, false)", "Page."+name, alternative)
+		return fmt.Sprintf("helpers.Deprecated(%q, %q, true)", "Page."+name, alternative)
 	}
 
 	var buff bytes.Buffer
@@ -214,7 +217,9 @@ func generateFileIsZeroWrappers(c *codegen.Inspector) error {
 	warning := func(name string, tp reflect.Type) string {
 		msg := fmt.Sprintf(".File.%s on zero object. Wrap it in if or with: {{ with .File }}{{ .%s }}{{ end }}", name, name)
 
-		return fmt.Sprintf("z.log.Println(%q)", msg)
+		// We made this a Warning in 0.92.0.
+		// When we remove this construct in 0.93.0, people will get a nil pointer.
+		return fmt.Sprintf("z.log.Warnln(%q)", msg)
 	}
 
 	var buff bytes.Buffer
diff --git a/resources/page/page_wrappers.autogen.go b/resources/page/page_wrappers.autogen.go
@@ -32,66 +32,66 @@ type pageDeprecated struct {
 }
 
 func (p *pageDeprecated) Filename() string {
-	helpers.Deprecated("Page.Filename", "Use .File.Filename", false)
+	helpers.Deprecated("Page.Filename", "Use .File.Filename", true)
 	return p.p.Filename()
 }
 func (p *pageDeprecated) Dir() string {
-	helpers.Deprecated("Page.Dir", "Use .File.Dir", false)
+	helpers.Deprecated("Page.Dir", "Use .File.Dir", true)
 	return p.p.Dir()
 }
 func (p *pageDeprecated) IsDraft() bool {
-	helpers.Deprecated("Page.IsDraft", "Use .Draft.", false)
+	helpers.Deprecated("Page.IsDraft", "Use .Draft.", true)
 	return p.p.IsDraft()
 }
 func (p *pageDeprecated) Extension() string {
-	helpers.Deprecated("Page.Extension", "Use .File.Extension", false)
+	helpers.Deprecated("Page.Extension", "Use .File.Extension", true)
 	return p.p.Extension()
 }
 func (p *pageDeprecated) Hugo() hugo.Info {
-	helpers.Deprecated("Page.Hugo", "Use the global hugo function.", false)
+	helpers.Deprecated("Page.Hugo", "Use the global hugo function.", true)
 	return p.p.Hugo()
 }
 func (p *pageDeprecated) Ext() string {
-	helpers.Deprecated("Page.Ext", "Use .File.Ext", false)
+	helpers.Deprecated("Page.Ext", "Use .File.Ext", true)
 	return p.p.Ext()
 }
 func (p *pageDeprecated) LanguagePrefix() string {
-	helpers.Deprecated("Page.LanguagePrefix", "Use .Site.LanguagePrefix.", false)
+	helpers.Deprecated("Page.LanguagePrefix", "Use .Site.LanguagePrefix.", true)
 	return p.p.LanguagePrefix()
 }
 func (p *pageDeprecated) GetParam(arg0 string) interface{} {
-	helpers.Deprecated("Page.GetParam", "Use .Param or .Params.myParam.", false)
+	helpers.Deprecated("Page.GetParam", "Use .Param or .Params.myParam.", true)
 	return p.p.GetParam(arg0)
 }
 func (p *pageDeprecated) LogicalName() string {
-	helpers.Deprecated("Page.LogicalName", "Use .File.LogicalName", false)
+	helpers.Deprecated("Page.LogicalName", "Use .File.LogicalName", true)
 	return p.p.LogicalName()
 }
 func (p *pageDeprecated) BaseFileName() string {
-	helpers.Deprecated("Page.BaseFileName", "Use .File.BaseFileName", false)
+	helpers.Deprecated("Page.BaseFileName", "Use .File.BaseFileName", true)
 	return p.p.BaseFileName()
 }
 func (p *pageDeprecated) RSSLink() template.URL {
-	helpers.Deprecated("Page.RSSLink", "Use the Output Format's link, e.g. something like:\n    {{ with .OutputFormats.Get \"RSS\" }}{{ .RelPermalink }}{{ end }}", false)
+	helpers.Deprecated("Page.RSSLink", "Use the Output Format's link, e.g. something like:\n    {{ with .OutputFormats.Get \"RSS\" }}{{ .RelPermalink }}{{ end }}", true)
 	return p.p.RSSLink()
 }
 func (p *pageDeprecated) TranslationBaseName() string {
-	helpers.Deprecated("Page.TranslationBaseName", "Use .File.TranslationBaseName", false)
+	helpers.Deprecated("Page.TranslationBaseName", "Use .File.TranslationBaseName", true)
 	return p.p.TranslationBaseName()
 }
 func (p *pageDeprecated) URL() string {
-	helpers.Deprecated("Page.URL", "Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url", false)
+	helpers.Deprecated("Page.URL", "Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url", true)
 	return p.p.URL()
 }
 func (p *pageDeprecated) ContentBaseName() string {
-	helpers.Deprecated("Page.ContentBaseName", "Use .File.ContentBaseName", false)
+	helpers.Deprecated("Page.ContentBaseName", "Use .File.ContentBaseName", true)
 	return p.p.ContentBaseName()
 }
 func (p *pageDeprecated) UniqueID() string {
-	helpers.Deprecated("Page.UniqueID", "Use .File.UniqueID", false)
+	helpers.Deprecated("Page.UniqueID", "Use .File.UniqueID", true)
 	return p.p.UniqueID()
 }
 func (p *pageDeprecated) FileInfo() hugofs.FileMetaInfo {
-	helpers.Deprecated("Page.FileInfo", "Use .File.FileInfo", false)
+	helpers.Deprecated("Page.FileInfo", "Use .File.FileInfo", true)
 	return p.p.FileInfo()
 }
diff --git a/resources/page/zero_file.autogen.go b/resources/page/zero_file.autogen.go
@@ -35,54 +35,54 @@ func (zeroFile) IsZero() bool {
 }
 
 func (z zeroFile) Path() (o0 string) {
-	z.log.Println(".File.Path on zero object. Wrap it in if or with: {{ with .File }}{{ .Path }}{{ end }}")
+	z.log.Warnln(".File.Path on zero object. Wrap it in if or with: {{ with .File }}{{ .Path }}{{ end }}")
 	return
 }
 func (z zeroFile) Section() (o0 string) {
-	z.log.Println(".File.Section on zero object. Wrap it in if or with: {{ with .File }}{{ .Section }}{{ end }}")
+	z.log.Warnln(".File.Section on zero object. Wrap it in if or with: {{ with .File }}{{ .Section }}{{ end }}")
 	return
 }
 func (z zeroFile) Lang() (o0 string) {
-	z.log.Println(".File.Lang on zero object. Wrap it in if or with: {{ with .File }}{{ .Lang }}{{ end }}")
+	z.log.Warnln(".File.Lang on zero object. Wrap it in if or with: {{ with .File }}{{ .Lang }}{{ end }}")
 	return
 }
 func (z zeroFile) Filename() (o0 string) {
-	z.log.Println(".File.Filename on zero object. Wrap it in if or with: {{ with .File }}{{ .Filename }}{{ end }}")
+	z.log.Warnln(".File.Filename on zero object. Wrap it in if or with: {{ with .File }}{{ .Filename }}{{ end }}")
 	return
 }
 func (z zeroFile) Dir() (o0 string) {
-	z.log.Println(".File.Dir on zero object. Wrap it in if or with: {{ with .File }}{{ .Dir }}{{ end }}")
+	z.log.Warnln(".File.Dir on zero object. Wrap it in if or with: {{ with .File }}{{ .Dir }}{{ end }}")
 	return
 }
 func (z zeroFile) Extension() (o0 string) {
-	z.log.Println(".File.Extension on zero object. Wrap it in if or with: {{ with .File }}{{ .Extension }}{{ end }}")
+	z.log.Warnln(".File.Extension on zero object. Wrap it in if or with: {{ with .File }}{{ .Extension }}{{ end }}")
 	return
 }
 func (z zeroFile) Ext() (o0 string) {
-	z.log.Println(".File.Ext on zero object. Wrap it in if or with: {{ with .File }}{{ .Ext }}{{ end }}")
+	z.log.Warnln(".File.Ext on zero object. Wrap it in if or with: {{ with .File }}{{ .Ext }}{{ end }}")
 	return
 }
 func (z zeroFile) LogicalName() (o0 string) {
-	z.log.Println(".File.LogicalName on zero object. Wrap it in if or with: {{ with .File }}{{ .LogicalName }}{{ end }}")
+	z.log.Warnln(".File.LogicalName on zero object. Wrap it in if or with: {{ with .File }}{{ .LogicalName }}{{ end }}")
 	return
 }
 func (z zeroFile) BaseFileName() (o0 string) {
-	z.log.Println(".File.BaseFileName on zero object. Wrap it in if or with: {{ with .File }}{{ .BaseFileName }}{{ end }}")
+	z.log.Warnln(".File.BaseFileName on zero object. Wrap it in if or with: {{ with .File }}{{ .BaseFileName }}{{ end }}")
 	return
 }
 func (z zeroFile) TranslationBaseName() (o0 string) {
-	z.log.Println(".File.TranslationBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .TranslationBaseName }}{{ end }}")
+	z.log.Warnln(".File.TranslationBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .TranslationBaseName }}{{ end }}")
 	return
 }
 func (z zeroFile) ContentBaseName() (o0 string) {
-	z.log.Println(".File.ContentBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .ContentBaseName }}{{ end }}")
+	z.log.Warnln(".File.ContentBaseName on zero object. Wrap it in if or with: {{ with .File }}{{ .ContentBaseName }}{{ end }}")
 	return
 }
 func (z zeroFile) UniqueID() (o0 string) {
-	z.log.Println(".File.UniqueID on zero object. Wrap it in if or with: {{ with .File }}{{ .UniqueID }}{{ end }}")
+	z.log.Warnln(".File.UniqueID on zero object. Wrap it in if or with: {{ with .File }}{{ .UniqueID }}{{ end }}")
 	return
 }
 func (z zeroFile) FileInfo() (o0 hugofs.FileMetaInfo) {
-	z.log.Println(".File.FileInfo on zero object. Wrap it in if or with: {{ with .File }}{{ .FileInfo }}{{ end }}")
+	z.log.Warnln(".File.FileInfo on zero object. Wrap it in if or with: {{ with .File }}{{ .FileInfo }}{{ end }}")
 	return
 }
diff --git a/resources/resource/resourcetypes.go b/resources/resource/resourcetypes.go
@@ -37,6 +37,11 @@ type OriginProvider interface {
 	GetFieldString(pattern string) (string, bool)
 }
 
+// ErrProvider provides an Err.
+type ErrProvider interface {
+	Err() error
+}
+
 // Resource represents a linkable resource, i.e. a content page, image etc.
 type Resource interface {
 	ResourceTypeProvider
@@ -45,7 +50,7 @@ type Resource interface {
 	ResourceMetaProvider
 	ResourceParamsProvider
 	ResourceDataProvider
-	Err() error
+	ErrProvider
 }
 
 // Image represents an image resource.