github.com/axxelG/goreleaser@v0.92.0/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/brew"
    11  	"github.com/goreleaser/goreleaser/internal/pipe/build"
    12  	"github.com/goreleaser/goreleaser/internal/pipe/checksums"
    13  	"github.com/goreleaser/goreleaser/internal/pipe/docker"
    14  	"github.com/goreleaser/goreleaser/internal/pipe/env"
    15  	"github.com/goreleaser/goreleaser/internal/pipe/nfpm"
    16  	"github.com/goreleaser/goreleaser/internal/pipe/project"
    17  	"github.com/goreleaser/goreleaser/internal/pipe/release"
    18  	"github.com/goreleaser/goreleaser/internal/pipe/s3"
    19  	"github.com/goreleaser/goreleaser/internal/pipe/scoop"
    20  	"github.com/goreleaser/goreleaser/internal/pipe/sign"
    21  	"github.com/goreleaser/goreleaser/internal/pipe/snapcraft"
    22  	"github.com/goreleaser/goreleaser/internal/pipe/snapshot"
    23  	"github.com/goreleaser/goreleaser/pkg/context"
    24  )
    25  
    26  // Defaulter can be implemented by a Piper to set default values for its
    27  // configuration.
    28  type Defaulter interface {
    29  	fmt.Stringer
    30  
    31  	// Default sets the configuration defaults
    32  	Default(ctx *context.Context) error
    33  }
    34  
    35  // Defaulters is the list of defaulters
    36  var Defaulters = []Defaulter{
    37  	env.Pipe{},
    38  	snapshot.Pipe{},
    39  	release.Pipe{},
    40  	project.Pipe{},
    41  	archive.Pipe{},
    42  	build.Pipe{},
    43  	nfpm.Pipe{},
    44  	snapcraft.Pipe{},
    45  	checksums.Pipe{},
    46  	sign.Pipe{},
    47  	docker.Pipe{},
    48  	artifactory.Pipe{},
    49  	s3.Pipe{},
    50  	brew.Pipe{},
    51  	scoop.Pipe{},
    52  }