From f812d1b920d0206767996abba7c7d39c34ddda95 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Sun, 8 May 2022 21:13:56 -0300 Subject: [PATCH] fix: nfpm deprecation on nfpm check (#3087) closes #3067 Signed-off-by: Carlos A Becker --- internal/deprecate/deprecate.go | 20 ------------------ internal/deprecate/deprecate_test.go | 16 -------------- .../deprecate/testdata/TestWriter.txt.golden | 2 -- internal/pipe/nfpm/nfpm.go | 9 +++++++- www/docs/deprecations.md | 21 ++++++++++++++++++- 5 files changed, 28 insertions(+), 40 deletions(-) delete mode 100644 internal/deprecate/testdata/TestWriter.txt.golden diff --git a/internal/deprecate/deprecate.go b/internal/deprecate/deprecate.go index f0720f5b1df..c8186976a7d 100644 --- a/internal/deprecate/deprecate.go +++ b/internal/deprecate/deprecate.go @@ -4,9 +4,7 @@ package deprecate import ( "bytes" - "io" "strings" - "sync" "text/template" "github.com/apex/log" @@ -17,24 +15,6 @@ import ( const baseURL = "https://goreleaser.com/deprecations#" -// NewWriter return a io.Writer that notices deprecations. -func NewWriter(ctx *context.Context) io.Writer { - return &writer{ctx: ctx} -} - -type writer struct { - ctx *context.Context - once sync.Once -} - -func (w *writer) Write(p []byte) (n int, err error) { - w.once.Do(func() { - w.ctx.Deprecated = true - }) - log.Warn(color.New(color.Bold, color.FgHiYellow).Sprintf("DEPRECATED: " + strings.TrimSuffix(string(p), "\n"))) - return len(p), nil -} - // Notice warns the user about the deprecation of the given property. func Notice(ctx *context.Context, property string) { NoticeCustom(ctx, property, "`{{ .Property }}` should not be used anymore, check {{ .URL }} for more info") diff --git a/internal/deprecate/deprecate_test.go b/internal/deprecate/deprecate_test.go index 35a7cb58ff0..9516fbd6442 100644 --- a/internal/deprecate/deprecate_test.go +++ b/internal/deprecate/deprecate_test.go @@ -42,19 +42,3 @@ func TestNoticeCustom(t *testing.T) { golden.RequireEqualTxt(t, w.Bytes()) } - -func TestWriter(t *testing.T) { - var w bytes.Buffer - - color.NoColor = true - log.SetHandler(cli.New(&w)) - - log.Info("first") - ctx := context.New(config.Project{}) - ww := NewWriter(ctx) - _, err := ww.Write([]byte("foo bar\n")) - require.NoError(t, err) - require.True(t, ctx.Deprecated) - - golden.RequireEqualTxt(t, w.Bytes()) -} diff --git a/internal/deprecate/testdata/TestWriter.txt.golden b/internal/deprecate/testdata/TestWriter.txt.golden deleted file mode 100644 index 1b1c1d339e8..00000000000 --- a/internal/deprecate/testdata/TestWriter.txt.golden +++ /dev/null @@ -1,2 +0,0 @@ - • first - • DEPRECATED: foo bar diff --git a/internal/pipe/nfpm/nfpm.go b/internal/pipe/nfpm/nfpm.go index fb474747a58..f00eea6170d 100644 --- a/internal/pipe/nfpm/nfpm.go +++ b/internal/pipe/nfpm/nfpm.go @@ -3,6 +3,7 @@ package nfpm import ( "fmt" + "io" "os" "path/filepath" "strings" @@ -54,10 +55,16 @@ func (Pipe) Default(ctx *context.Context) error { if fpm.FileNameTemplate == "" { fpm.FileNameTemplate = defaultNameTemplate } + if len(fpm.EmptyFolders) > 0 { + deprecate.Notice(ctx, "nfpms.empty_folders") + } + if fpm.Maintainer == "" { + deprecate.Notice(ctx, "nfpms.maintainer") + } ids.Inc(fpm.ID) } - deprecation.Noticer = deprecate.NewWriter(ctx) + deprecation.Noticer = io.Discard return ids.Validate() } diff --git a/www/docs/deprecations.md b/www/docs/deprecations.md index 7b348f87717..01395d0e53f 100644 --- a/www/docs/deprecations.md +++ b/www/docs/deprecations.md @@ -36,6 +36,25 @@ Description. --> +### nfpms.maintainer + +> since 2022-05-07 (v1.9.0) + +nFPM will soon make mandatory setting the maintainer field. + +=== "Before" + ```yaml + nfpms: + - maintainer: '' + ``` + +=== "After" + ```yaml + nfpms: + - maintainer: 'Name ' + ``` + + ### rigs > since 2022-03-21 (v1.8.0) @@ -74,7 +93,7 @@ On [GoReleaser PRO](/pro/) custom variables should now be prefixed with `.Var`. some_template: 'lala-{{ .Var.foo }}' ``` -### nfpm.empty_folders +### nfpms.empty_folders > since 2021-11-14 (v1.0.0)