build

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BinaryBuildSpec

type BinaryBuildSpec struct {
	Name    string // Binary name
	Path    string // Path to main.go directory
	LDFlags string // LDFlags for this binary (overrides default)
}

BinaryBuildSpec specifies a binary to build.

type BuildAllOptions

type BuildAllOptions struct {
	Targets     []string
	LDFlags     string
	Version     string
	Commit      string
	ShortCommit string
	Date        string
	BinaryName  string // Optional custom binary name
	MainPath    string // Optional path to main.go directory
}

BuildAllOptions holds options for building all targets.

type BuildMultiOptions

type BuildMultiOptions struct {
	MainPath    string
	Targets     []string
	Binaries    []BinaryBuildSpec
	LDFlags     string // Default ldflags
	Version     string
	Commit      string
	ShortCommit string
	Date        string
}

BuildMultiOptions holds options for building multiple binaries across multiple targets.

type BuildOptions

type BuildOptions struct {
	Target      Target
	LDFlags     string
	Version     string
	Commit      string
	ShortCommit string
	Date        string
	BinaryName  string // Optional custom binary name (if empty, derived from repo dir)
	MainPath    string // Path to main.go directory  "./cmd/forge", "./cmd/server/main.og" or "."
}

BuildOptions holds options for building a binary.

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder handles building Go binaries for multiple targets.

func NewBuilder

func NewBuilder(repoDir, outputDir string, dryRun bool) *Builder

NewBuilder creates a new Builder.

func (*Builder) Build

func (b *Builder) Build(ctx context.Context, opts BuildOptions) error

Build builds the binary with the given options.

func (*Builder) BuildAll

func (b *Builder) BuildAll(ctx context.Context, opts BuildAllOptions) error

BuildAll builds for all specified targets.

func (*Builder) BuildMulti

func (b *Builder) BuildMulti(ctx context.Context, opts BuildMultiOptions) error

BuildMulti builds multiple binaries for all specified targets.

func (*Builder) BuildWithEnv

func (b *Builder) BuildWithEnv(ctx context.Context, target Target, ldflags, version string, env map[string]string) error

BuildWithEnv builds with explicit environment variables (deprecated, use BuildWithEnvVars).

func (*Builder) BuildWithEnvVars

func (b *Builder) BuildWithEnvVars(ctx context.Context, opts BuildOptions) error

BuildWithEnvVars builds with explicit environment variables using the shell.

type Target

type Target struct {
	OS   string
	Arch string
}

Target represents a GOOS/GOARCH build target.

func ParseTarget

func ParseTarget(s string) (Target, error)

ParseTarget parses a target string like "linux/amd64" into a Target.

func (Target) String

func (t Target) String() string

String returns the target as "OS/ARCH".

type TemplateData

type TemplateData struct {
	Version     string
	Commit      string
	ShortCommit string
	Date        string
	OS          string
	Arch        string
}

TemplateData holds data for ldflags templating.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL