1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-08 03:31:59 +02:00
goreleaser/pipeline/build/ldflags.go

34 lines
647 B
Go
Raw Normal View History

2017-03-26 01:24:38 +02:00
package build
import (
"bytes"
"text/template"
"time"
2017-06-28 00:36:36 +02:00
"github.com/goreleaser/goreleaser/config"
2017-03-26 01:24:38 +02:00
"github.com/goreleaser/goreleaser/context"
)
type ldflagsData struct {
Date string
2017-04-30 22:44:52 +02:00
Tag string
2017-03-26 01:24:38 +02:00
Commit string
Version string
}
2017-06-28 00:36:36 +02:00
func ldflags(ctx *context.Context, build config.Build) (string, error) {
2017-03-26 01:24:38 +02:00
var data = ldflagsData{
Commit: ctx.Git.Commit,
2017-04-30 22:44:52 +02:00
Tag: ctx.Git.CurrentTag,
Version: ctx.Version,
2017-04-09 15:22:09 +02:00
Date: time.Now().UTC().Format(time.RFC3339),
2017-03-26 01:24:38 +02:00
}
var out bytes.Buffer
2017-06-28 00:36:36 +02:00
t, err := template.New("ldflags").Parse(build.Ldflags)
2017-03-26 01:24:38 +02:00
if err != nil {
return "", err
}
err = t.Execute(&out, data)
return out.String(), err
}