gitee.com/mirrors_opencollective/goreleaser@v0.45.0/pipeline/defaults/defaults.go (about)

     1  // Package defaults implements the Pipe interface providing default values
     2  // for missing configuration.
     3  package defaults
     4  
     5  import (
     6  	"github.com/apex/log"
     7  	"github.com/goreleaser/goreleaser/context"
     8  	"github.com/goreleaser/goreleaser/pipeline"
     9  	"github.com/goreleaser/goreleaser/pipeline/archive"
    10  	"github.com/goreleaser/goreleaser/pipeline/artifactory"
    11  	"github.com/goreleaser/goreleaser/pipeline/brew"
    12  	"github.com/goreleaser/goreleaser/pipeline/build"
    13  	"github.com/goreleaser/goreleaser/pipeline/checksums"
    14  	"github.com/goreleaser/goreleaser/pipeline/docker"
    15  	"github.com/goreleaser/goreleaser/pipeline/fpm"
    16  	"github.com/goreleaser/goreleaser/pipeline/release"
    17  	"github.com/goreleaser/goreleaser/pipeline/sign"
    18  	"github.com/goreleaser/goreleaser/pipeline/snapcraft"
    19  	"github.com/goreleaser/goreleaser/pipeline/snapshot"
    20  )
    21  
    22  // Pipe that sets the defaults
    23  type Pipe struct{}
    24  
    25  func (Pipe) String() string {
    26  	return "setting defaults for:"
    27  }
    28  
    29  var defaulters = []pipeline.Defaulter{
    30  	snapshot.Pipe{},
    31  	release.Pipe{},
    32  	archive.Pipe{},
    33  	build.Pipe{},
    34  	fpm.Pipe{},
    35  	snapcraft.Pipe{},
    36  	checksums.Pipe{},
    37  	sign.Pipe{},
    38  	docker.Pipe{},
    39  	artifactory.Pipe{},
    40  	brew.Pipe{},
    41  }
    42  
    43  // Run the pipe
    44  func (Pipe) Run(ctx *context.Context) error {
    45  	if ctx.Config.Dist == "" {
    46  		ctx.Config.Dist = "dist"
    47  	}
    48  	for _, defaulter := range defaulters {
    49  		log.Info(defaulter.String())
    50  		if err := defaulter.Default(ctx); err != nil {
    51  			return err
    52  		}
    53  	}
    54  	if ctx.Config.ProjectName == "" {
    55  		ctx.Config.ProjectName = ctx.Config.Release.GitHub.Name
    56  	}
    57  	return nil
    58  }