mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-08 03:31:59 +02:00
34 lines
647 B
Go
34 lines
647 B
Go
package build
|
|
|
|
import (
|
|
"bytes"
|
|
"text/template"
|
|
"time"
|
|
|
|
"github.com/goreleaser/goreleaser/config"
|
|
"github.com/goreleaser/goreleaser/context"
|
|
)
|
|
|
|
type ldflagsData struct {
|
|
Date string
|
|
Tag string
|
|
Commit string
|
|
Version string
|
|
}
|
|
|
|
func ldflags(ctx *context.Context, build config.Build) (string, error) {
|
|
var data = ldflagsData{
|
|
Commit: ctx.Git.Commit,
|
|
Tag: ctx.Git.CurrentTag,
|
|
Version: ctx.Version,
|
|
Date: time.Now().UTC().Format(time.RFC3339),
|
|
}
|
|
var out bytes.Buffer
|
|
t, err := template.New("ldflags").Parse(build.Ldflags)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
err = t.Execute(&out, data)
|
|
return out.String(), err
|
|
}
|