mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Remove some old and unused deprecation code
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -14,12 +14,3 @@ | ||||
| // 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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user