github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/pkg/defaults/defaults.go (about)

     1  // Package defaults make the list of Defaulter implementations available
     2  // so projects extending GoReleaser are able to use it, namely, GoDownloader.
     3  package defaults
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/goreleaser/goreleaser/internal/pipe/archive"
     9  	"github.com/goreleaser/goreleaser/internal/pipe/artifactory"
    10  	"github.com/goreleaser/goreleaser/internal/pipe/blob"
    11  	"github.com/goreleaser/goreleaser/internal/pipe/brew"
    12  	"github.com/goreleaser/goreleaser/internal/pipe/build"
    13  	"github.com/goreleaser/goreleaser/internal/pipe/checksums"
    14  	"github.com/goreleaser/goreleaser/internal/pipe/discord"
    15  	"github.com/goreleaser/goreleaser/internal/pipe/docker"
    16  	"github.com/goreleaser/goreleaser/internal/pipe/gomod"
    17  	"github.com/goreleaser/goreleaser/internal/pipe/milestone"
    18  	"github.com/goreleaser/goreleaser/internal/pipe/nfpm"
    19  	"github.com/goreleaser/goreleaser/internal/pipe/project"
    20  	"github.com/goreleaser/goreleaser/internal/pipe/reddit"
    21  	"github.com/goreleaser/goreleaser/internal/pipe/release"
    22  	"github.com/goreleaser/goreleaser/internal/pipe/scoop"
    23  	"github.com/goreleaser/goreleaser/internal/pipe/sign"
    24  	"github.com/goreleaser/goreleaser/internal/pipe/slack"
    25  	"github.com/goreleaser/goreleaser/internal/pipe/smtp"
    26  	"github.com/goreleaser/goreleaser/internal/pipe/snapcraft"
    27  	"github.com/goreleaser/goreleaser/internal/pipe/snapshot"
    28  	"github.com/goreleaser/goreleaser/internal/pipe/sourcearchive"
    29  	"github.com/goreleaser/goreleaser/internal/pipe/teams"
    30  	"github.com/goreleaser/goreleaser/internal/pipe/twitter"
    31  	"github.com/goreleaser/goreleaser/pkg/context"
    32  )
    33  
    34  // Defaulter can be implemented by a Piper to set default values for its
    35  // configuration.
    36  type Defaulter interface {
    37  	fmt.Stringer
    38  
    39  	// Default sets the configuration defaults
    40  	Default(ctx *context.Context) error
    41  }
    42  
    43  // Defaulters is the list of defaulters.
    44  // nolint: gochecknoglobals
    45  var Defaulters = []Defaulter{
    46  	snapshot.Pipe{},
    47  	release.Pipe{},
    48  	project.Pipe{},
    49  	gomod.Pipe{},
    50  	build.Pipe{},
    51  	sourcearchive.Pipe{},
    52  	archive.Pipe{},
    53  	nfpm.Pipe{},
    54  	snapcraft.Pipe{},
    55  	checksums.Pipe{},
    56  	sign.Pipe{},
    57  	sign.DockerPipe{},
    58  	docker.Pipe{},
    59  	docker.ManifestPipe{},
    60  	artifactory.Pipe{},
    61  	blob.Pipe{},
    62  	brew.Pipe{},
    63  	scoop.Pipe{},
    64  	discord.Pipe{},
    65  	reddit.Pipe{},
    66  	slack.Pipe{},
    67  	teams.Pipe{},
    68  	twitter.Pipe{},
    69  	smtp.Pipe{},
    70  	milestone.Pipe{},
    71  }