github.phpd.cn/goreleaser/goreleaser@v0.92.0/internal/pipe/effectiveconfig/config.go (about)

     1  package effectiveconfig
     2  
     3  import (
     4  	"io/ioutil"
     5  	"path/filepath"
     6  
     7  	"github.com/apex/log"
     8  	"github.com/goreleaser/goreleaser/pkg/context"
     9  	yaml "gopkg.in/yaml.v2"
    10  )
    11  
    12  // Pipe that writes the effective config file to dist
    13  type Pipe struct {
    14  }
    15  
    16  func (Pipe) String() string {
    17  	return "writing effective config file"
    18  }
    19  
    20  // Run the pipe
    21  func (Pipe) Run(ctx *context.Context) (err error) {
    22  	var path = filepath.Join(ctx.Config.Dist, "config.yaml")
    23  	bts, err := yaml.Marshal(ctx.Config)
    24  	if err != nil {
    25  		return err
    26  	}
    27  	log.WithField("config", path).Info("writing")
    28  	return ioutil.WriteFile(path, bts, 0644)
    29  }