1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-04 03:11:55 +02:00
goreleaser/internal/pipe/prebuild/prebuild.go

31 lines
637 B
Go
Raw Normal View History

// Package prebuild provides a pipe that runs before the build and gomod pipes, mainly to resolve common templates.
package prebuild
import (
"github.com/goreleaser/goreleaser/v2/internal/tmpl"
"github.com/goreleaser/goreleaser/v2/pkg/context"
)
// Pipe for build.
type Pipe struct{}
func (Pipe) String() string {
return "build prerequisites"
}
// Run the pipe.
func (Pipe) Run(ctx *context.Context) error {
tpl := tmpl.New(ctx)
for i := range ctx.Config.Builds {
m, err := tpl.Apply(ctx.Config.Builds[i].Main)
if err != nil {
return err
}
if m == "" {
m = "."
}
ctx.Config.Builds[i].Main = m
}
return nil
}