]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Remove some old and unused deprecation code
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 1 Nov 2023 14:36:17 +0000 (15:36 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 1 Nov 2023 15:40:26 +0000 (16:40 +0100)
resources/page/page.go
resources/page/page_generate/generate_page_wrappers.go
resources/page/page_wrappers.autogen.go

index 54fc71f3310f456dc31c687a11f69de2714dfa20..b5af489f1af3aee9d626d58bb13120deb0e4bbb2 100644 (file)
@@ -339,8 +339,6 @@ type PageWithoutContent interface {
        // This is currently only triggered with the Related content feature
        // and the "fragments" type of index.
        HeadingsFiltered(context.Context) tableofcontents.Headings
-
-       DeprecatedWarningPageMethods
 }
 
 // Positioner provides next/prev navigation.
@@ -417,7 +415,6 @@ type TableOfContentsProvider interface {
 
 // TranslationsProvider provides access to any translations.
 type TranslationsProvider interface {
-
        // IsTranslated returns whether this content file is translated to
        // other language(s).
        IsTranslated() bool
@@ -431,7 +428,6 @@ type TranslationsProvider interface {
 
 // TreeProvider provides section tree navigation.
 type TreeProvider interface {
-
        // IsAncestor returns whether the current page is an ancestor of other.
        // Note that this method is not relevant for taxonomy lists and taxonomy terms pages.
        IsAncestor(other any) (bool, error)
@@ -469,15 +465,6 @@ type TreeProvider interface {
        Page() Page
 }
 
-// DeprecatedWarningPageMethods lists deprecated Page methods that will trigger
-// a WARNING if invoked.
-// This was added in Hugo 0.55.
-type DeprecatedWarningPageMethods any // This was emptied in Hugo 0.93.0.
-
-// Move here to trigger ERROR instead of WARNING.
-// TODO(bep) create wrappers and put into the Page once it has some methods.
-type DeprecatedErrorPageMethods any
-
 // PageWithContext is a Page with a context.Context.
 type PageWithContext struct {
        Page
index abbf02bf1d222f15a549bd0d983a17e565b0cc7a..2449cf28dc21cf9944072fde28468592d26e7fd3 100644 (file)
@@ -15,13 +15,12 @@ package page_generate
 
 import (
        "bytes"
+       "errors"
        "fmt"
        "os"
        "path/filepath"
        "reflect"
 
-       "errors"
-
        "github.com/gohugoio/hugo/common/maps"
 
        "github.com/gohugoio/hugo/codegen"
@@ -47,8 +46,7 @@ const header = `// Copyright 2019 The Hugo Authors. All rights reserved.
 `
 
 var (
-       pageInterfaceDeprecated = reflect.TypeOf((*page.DeprecatedWarningPageMethods)(nil)).Elem()
-       pageInterface           = reflect.TypeOf((*page.Page)(nil)).Elem()
+       pageInterface = reflect.TypeOf((*page.Page)(nil)).Elem()
 
        packageDir = filepath.FromSlash("resources/page")
 )
@@ -58,10 +56,6 @@ func Generate(c *codegen.Inspector) error {
                return fmt.Errorf("failed to generate JSON marshaler: %w", err)
        }
 
-       if err := generateDeprecatedWrappers(c); err != nil {
-               return fmt.Errorf("failed to generate deprecate wrappers: %w", err)
-       }
-
        if err := generateFileIsZeroWrappers(c); err != nil {
                return fmt.Errorf("failed to generate file wrappers: %w", err)
        }
@@ -81,10 +75,6 @@ func generateMarshalJSON(c *codegen.Inspector) error {
 
        // Exclude these methods
        excludes := []reflect.Type{
-               // We need to evaluate the deprecated vs JSON in the future,
-               // but leave them out for now.
-               pageInterfaceDeprecated,
-
                // Leave this out for now. We need to revisit the author issue.
                reflect.TypeOf((*page.AuthorProvider)(nil)).Elem(),
 
@@ -133,71 +123,6 @@ package page
        return nil
 }
 
-func generateDeprecatedWrappers(c *codegen.Inspector) error {
-       filename := filepath.Join(c.ProjectRootDir, packageDir, "page_wrappers.autogen.go")
-       f, err := os.Create(filename)
-       if err != nil {
-               return err
-       }
-       defer f.Close()
-
-       // Generate a wrapper for deprecated page methods
-
-       reasons := map[string]string{
-               "IsDraft":        "Use .Draft.",
-               "Hugo":           "Use the global hugo function.",
-               "LanguagePrefix": "Use .Site.LanguagePrefix.",
-               "GetParam":       "Use .Param or .Params.myParam.",
-               "RSSLink": `Use the Output Format's link, e.g. something like:
-    {{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}`,
-               "URL": "Use .Permalink or .RelPermalink. If what you want is the front matter URL value, use .Params.url",
-       }
-
-       deprecated := func(name string, tp reflect.Type) string {
-               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)
-       }
-
-       var buff bytes.Buffer
-
-       methods := c.MethodsFromTypes([]reflect.Type{pageInterfaceDeprecated}, nil)
-
-       for _, m := range methods {
-               fmt.Fprint(&buff, m.Declaration("*pageDeprecated"))
-               fmt.Fprintln(&buff, " {")
-               fmt.Fprintf(&buff, "\t%s\n", deprecated(m.Name, m.Owner))
-               fmt.Fprintf(&buff, "\t%s\n}\n", m.Delegate("p", "p"))
-
-       }
-
-       pkgImports := methods.Imports()
-       // pkgImports := append(methods.Imports(), "github.com/gohugoio/hugo/helpers")
-
-       fmt.Fprintf(f, `%s
-
-package page
-
-%s
-// NewDeprecatedWarningPage adds deprecation warnings to the given implementation.
-func NewDeprecatedWarningPage(p DeprecatedWarningPageMethods) DeprecatedWarningPageMethods {
-       return &pageDeprecated{p: p}
-}
-
-type pageDeprecated struct {
-       p DeprecatedWarningPageMethods
-}
-
-%s
-
-`, header, importsString(pkgImports), buff.String())
-
-       return nil
-}
-
 func generateFileIsZeroWrappers(c *codegen.Inspector) error {
        filename := filepath.Join(c.ProjectRootDir, packageDir, "zero_file.autogen.go")
        f, err := os.Create(filename)
index 55dff47d5ab469ca617416b6b845b112d0cd683e..4b7c034a1711aa1b300f3f17be7238a4d7071133 100644 (file)
 // This file is autogenerated.
 
 package page
-
-// NewDeprecatedWarningPage adds deprecation warnings to the given implementation.
-func NewDeprecatedWarningPage(p DeprecatedWarningPageMethods) DeprecatedWarningPageMethods {
-       return &pageDeprecated{p: p}
-}
-
-type pageDeprecated struct {
-       p DeprecatedWarningPageMethods
-}