From 9563c7d13b157612b01a9d108c134c407126b328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 24 Jan 2022 11:15:54 +0100 Subject: [PATCH] Finally remove deprecated Page methods They have been deprecated for a very long time, first with a warning, then with an ERROR. Now they are removed. Closes #4117 --- hugolib/page__common.go | 1 - hugolib/page__new.go | 10 --- resources/page/page.go | 14 +--- .../page_generate/generate_page_wrappers.go | 18 ++--- resources/page/page_marshaljson.autogen.go | 10 +-- resources/page/page_wrappers.autogen.go | 72 ------------------- 6 files changed, 13 insertions(+), 112 deletions(-) diff --git a/hugolib/page__common.go b/hugolib/page__common.go index ccef79a3f..bf11ae7d6 100644 --- a/hugolib/page__common.go +++ b/hugolib/page__common.go @@ -78,7 +78,6 @@ type pageCommon struct { page.RefProvider page.ShortcodeInfoProvider page.SitesProvider - page.DeprecatedWarningPageMethods page.TranslationsProvider page.TreeProvider resource.LanguageProvider diff --git a/hugolib/page__new.go b/hugolib/page__new.go index 17bdb30ff..5efebe4f5 100644 --- a/hugolib/page__new.go +++ b/hugolib/page__new.go @@ -20,7 +20,6 @@ import ( "github.com/gohugoio/hugo/common/hugo" "github.com/gohugoio/hugo/common/maps" - "github.com/gohugoio/hugo/source" "github.com/gohugoio/hugo/output" @@ -65,15 +64,6 @@ func newPageBase(metaProvider *pageMeta) (*pageState, error) { siteAdapter := pageSiteAdapter{s: s, p: ps} - deprecatedWarningPage := struct { - source.FileWithoutOverlap - page.DeprecatedWarningPageMethods1 - }{ - FileWithoutOverlap: metaProvider.File(), - DeprecatedWarningPageMethods1: &pageDeprecatedWarning{p: ps}, - } - - ps.DeprecatedWarningPageMethods = page.NewDeprecatedWarningPage(deprecatedWarningPage) ps.pageMenus = &pageMenus{p: ps} ps.PageMenusProvider = ps.pageMenus ps.GetPageProvider = siteAdapter diff --git a/resources/page/page.go b/resources/page/page.go index f23069a68..d1790806e 100644 --- a/resources/page/page.go +++ b/resources/page/page.go @@ -24,7 +24,6 @@ import ( "github.com/gohugoio/hugo/config" "github.com/gohugoio/hugo/tpl" - "github.com/gohugoio/hugo/common/hugo" "github.com/gohugoio/hugo/common/maps" "github.com/gohugoio/hugo/compare" "github.com/gohugoio/hugo/hugofs/files" @@ -379,18 +378,7 @@ type TreeProvider interface { // DeprecatedWarningPageMethods lists deprecated Page methods that will trigger // a WARNING if invoked. // This was added in Hugo 0.55. -type DeprecatedWarningPageMethods interface { - source.FileWithoutOverlap - DeprecatedWarningPageMethods1 -} - -type DeprecatedWarningPageMethods1 interface { - IsDraft() bool - Hugo() hugo.Info - LanguagePrefix() string - GetParam(key string) interface{} - RSSLink() template.URL - URL() string +type DeprecatedWarningPageMethods interface { // This was emptied in Hugo 0.93.0. } // Move here to trigger ERROR instead of WARNING. diff --git a/resources/page/page_generate/generate_page_wrappers.go b/resources/page/page_generate/generate_page_wrappers.go index ae05ad5c2..9d790cc01 100644 --- a/resources/page/page_generate/generate_page_wrappers.go +++ b/resources/page/page_generate/generate_page_wrappers.go @@ -47,7 +47,6 @@ const header = `// Copyright 2019 The Hugo Authors. All rights reserved. ` var ( - fileInterfaceDeprecated = reflect.TypeOf((*source.FileWithoutOverlap)(nil)).Elem() pageInterfaceDeprecated = reflect.TypeOf((*page.DeprecatedWarningPageMethods)(nil)).Elem() pageInterface = reflect.TypeOf((*page.Page)(nil)).Elem() @@ -155,15 +154,9 @@ func generateDeprecatedWrappers(c *codegen.Inspector) error { } deprecated := func(name string, tp reflect.Type) string { - var alternative string - if tp == fileInterfaceDeprecated { - alternative = "Use .File." + name - } else { - var found bool - alternative, found = reasons[name] - if !found { - panic(fmt.Sprintf("no deprecated reason found for %q", name)) - } + alternative, found := reasons[name] + if !found { + panic(fmt.Sprintf("no deprecated reason found for %q", name)) } return fmt.Sprintf("helpers.Deprecated(%q, %q, true)", "Page."+name, alternative) @@ -171,7 +164,7 @@ func generateDeprecatedWrappers(c *codegen.Inspector) error { var buff bytes.Buffer - methods := c.MethodsFromTypes([]reflect.Type{fileInterfaceDeprecated, pageInterfaceDeprecated}, nil) + methods := c.MethodsFromTypes([]reflect.Type{pageInterfaceDeprecated}, nil) for _, m := range methods { fmt.Fprint(&buff, m.Declaration("*pageDeprecated")) @@ -181,7 +174,8 @@ func generateDeprecatedWrappers(c *codegen.Inspector) error { } - pkgImports := append(methods.Imports(), "github.com/gohugoio/hugo/helpers") + pkgImports := methods.Imports() + // pkgImports := append(methods.Imports(), "github.com/gohugoio/hugo/helpers") fmt.Fprintf(f, `%s diff --git a/resources/page/page_marshaljson.autogen.go b/resources/page/page_marshaljson.autogen.go index 6cfa411e2..7b44d4a72 100644 --- a/resources/page/page_marshaljson.autogen.go +++ b/resources/page/page_marshaljson.autogen.go @@ -17,9 +17,6 @@ package page import ( "encoding/json" - "html/template" - "time" - "github.com/bep/gitmap" "github.com/gohugoio/hugo/common/maps" "github.com/gohugoio/hugo/config" @@ -29,6 +26,8 @@ import ( "github.com/gohugoio/hugo/media" "github.com/gohugoio/hugo/navigation" "github.com/gohugoio/hugo/source" + "html/template" + "time" ) func MarshalPageToJSON(p Page) ([]byte, error) { @@ -69,7 +68,8 @@ func MarshalPageToJSON(p Page) ([]byte, error) { linkTitle := p.LinkTitle() isNode := p.IsNode() isPage := p.IsPage() - path := p.Pathc() + path := p.Path() + pathc := p.Pathc() slug := p.Slug() lang := p.Lang() isSection := p.IsSection() @@ -127,6 +127,7 @@ func MarshalPageToJSON(p Page) ([]byte, error) { IsNode bool IsPage bool Path string + Pathc string Slug string Lang string IsSection bool @@ -183,6 +184,7 @@ func MarshalPageToJSON(p Page) ([]byte, error) { IsNode: isNode, IsPage: isPage, Path: path, + Pathc: pathc, Slug: slug, Lang: lang, IsSection: isSection, diff --git a/resources/page/page_wrappers.autogen.go b/resources/page/page_wrappers.autogen.go index 2bdd51121..55dff47d5 100644 --- a/resources/page/page_wrappers.autogen.go +++ b/resources/page/page_wrappers.autogen.go @@ -15,13 +15,6 @@ package page -import ( - "github.com/gohugoio/hugo/common/hugo" - "github.com/gohugoio/hugo/helpers" - "github.com/gohugoio/hugo/hugofs" - "html/template" -) - // NewDeprecatedWarningPage adds deprecation warnings to the given implementation. func NewDeprecatedWarningPage(p DeprecatedWarningPageMethods) DeprecatedWarningPageMethods { return &pageDeprecated{p: p} @@ -30,68 +23,3 @@ func NewDeprecatedWarningPage(p DeprecatedWarningPageMethods) DeprecatedWarningP type pageDeprecated struct { p DeprecatedWarningPageMethods } - -func (p *pageDeprecated) Filename() string { - helpers.Deprecated("Page.Filename", "Use .File.Filename", true) - return p.p.Filename() -} -func (p *pageDeprecated) Dir() string { - helpers.Deprecated("Page.Dir", "Use .File.Dir", true) - return p.p.Dir() -} -func (p *pageDeprecated) IsDraft() bool { - helpers.Deprecated("Page.IsDraft", "Use .Draft.", true) - return p.p.IsDraft() -} -func (p *pageDeprecated) Extension() string { - 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.", true) - return p.p.Hugo() -} -func (p *pageDeprecated) Ext() string { - helpers.Deprecated("Page.Ext", "Use .File.Ext", true) - return p.p.Ext() -} -func (p *pageDeprecated) LanguagePrefix() string { - 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.", true) - return p.p.GetParam(arg0) -} -func (p *pageDeprecated) LogicalName() string { - helpers.Deprecated("Page.LogicalName", "Use .File.LogicalName", true) - return p.p.LogicalName() -} -func (p *pageDeprecated) BaseFileName() string { - 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 }}", true) - return p.p.RSSLink() -} -func (p *pageDeprecated) TranslationBaseName() string { - 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", true) - return p.p.URL() -} -func (p *pageDeprecated) ContentBaseName() string { - helpers.Deprecated("Page.ContentBaseName", "Use .File.ContentBaseName", true) - return p.p.ContentBaseName() -} -func (p *pageDeprecated) UniqueID() string { - 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", true) - return p.p.FileInfo() -}