1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-08 03:31:59 +02:00
goreleaser/internal/pipe/defaults/defaults.go
Manuel Vogel eb7ba2a294 feat: add gitlab for releases (#1038)
* outlines gitlab client integration

* makes client parameter more explicit

* adds gitlab url to config

* changes releaseID to string to adapt to gitlab

* updates to latest gitlab client lib 0.18

* fixes copy paster in gitlab upload func

* fixes gitlab typo in config

* adds gitlab token to env and context

* release now uses the client factory method

* skips brew pipe if it is not a github release

* add github tokentype to publish tests

* skips scoop pipe if it is not a github release

* corrects brew skip msg

* adds gitlab token to main test

* adds gitlab to release docs

* validates config and errors accordingly

* adapt release pipe name to include gitlab

* fixes gitlab client after testing

* moves not-configured brew and scoop pipe checks as first check

* adds more debug to gitlab client

* adapts changelog generation for gitlab markdown

* adds debug log for gitlab changelog

* env needs to run before changelog pipe

* moves gitlab default download url to default pipe

* moves multiple releases check to from config to release pipe

* release differs now for github and gitlab

* adds debug gitlab release update msgs

* moves env pipe as second after before because it determines the token type other pipes depend on

* adaptes error check on gitlab release creation

* Revert "adaptes error check on gitlab release creation"

This reverts commit 032024571c.

* simplifies gitlab client logic. removes comments

* skips tls verification for gitlab client if specified in config

* updates the docs

* adds clarification that brew and scoop are not supported if it is a gitlab release

* fixes copy paster in release.md

* adds missing blob pipe in defaults and publish due to missing in merge

* updates comment in gitlab client
2019-06-29 11:02:40 -03:00

40 lines
958 B
Go

// Package defaults implements the Pipe interface providing default values
// for missing configuration.
package defaults
import (
"github.com/goreleaser/goreleaser/internal/middleware"
"github.com/goreleaser/goreleaser/pkg/context"
"github.com/goreleaser/goreleaser/pkg/defaults"
)
// Pipe that sets the defaults
type Pipe struct{}
func (Pipe) String() string {
return "setting defaults"
}
// Run the pipe
func (Pipe) Run(ctx *context.Context) error {
if ctx.Config.Dist == "" {
ctx.Config.Dist = "dist"
}
if ctx.Config.GitHubURLs.Download == "" {
ctx.Config.GitHubURLs.Download = "https://github.com"
}
if ctx.Config.GitLabURLs.Download == "" {
ctx.Config.GitLabURLs.Download = "https://gitlab.com"
}
for _, defaulter := range defaults.Defaulters {
if err := middleware.Logging(
defaulter.String(),
middleware.ErrHandler(defaulter.Default),
middleware.ExtraPadding,
)(ctx); err != nil {
return err
}
}
return nil
}