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 }