Help us shape the future of Go! Take the 2026 Go Developer Survey

build

package
v2.0.5 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(BuildFlags, Packages string) error

Types

type Build

type Build struct {
	ID              string          `yaml:"id,omitempty" json:"id,omitempty"`
	Goos            []string        `yaml:"goos,omitempty" json:"goos,omitempty"`
	Goarch          []string        `yaml:"goarch,omitempty" json:"goarch,omitempty"`
	Goarm           []string        `yaml:"goarm,omitempty" json:"goarm,omitempty"`
	Gomips          []string        `yaml:"gomips,omitempty" json:"gomips,omitempty"`
	Goamd64         []string        `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
	Targets         []string        `yaml:"targets,omitempty" json:"targets,omitempty"`
	Ignore          []IgnoredBuild  `yaml:"ignore,omitempty" json:"ignore,omitempty"`
	Dir             string          `yaml:"dir,omitempty" json:"dir,omitempty"`
	Main            string          `yaml:"main,omitempty" json:"main,omitempty"`
	Binary          string          `yaml:"binary,omitempty" json:"binary,omitempty"`
	Hooks           BuildHookConfig `yaml:"hooks,omitempty" json:"hooks,omitempty"`
	Builder         string          `yaml:"builder,omitempty" json:"builder,omitempty"`
	ModTimestamp    string          `yaml:"mod_timestamp,omitempty" json:"mod_timestamp,omitempty"`
	Skip            bool            `yaml:"skip,omitempty" json:"skip,omitempty" jsonschema:"oneof_type=string;boolean"`
	GoBinary        string          `yaml:"gobinary,omitempty" json:"gobinary,omitempty"`
	Command         string          `yaml:"command,omitempty" json:"command,omitempty"`
	NoUniqueDistDir bool            `yaml:"no_unique_dist_dir,omitempty" json:"no_unique_dist_dir,omitempty"`
	NoMainCheck     bool            `yaml:"no_main_check,omitempty" json:"no_main_check,omitempty"`
	UnproxiedMain   string          `yaml:"-" json:"-"` // used by gomod.proxy
	UnproxiedDir    string          `yaml:"-" json:"-"` // used by gomod.proxy

	BuildDetails          `yaml:",inline" json:",inline"` // nolint: tagliatelle
	BuildDetailsOverrides []BuildDetailsOverride          `yaml:"overrides,omitempty" json:"overrides,omitempty"`
}

Build contains the build configuration section.

type BuildDetails

type BuildDetails struct {
	Buildmode string      `yaml:"buildmode,omitempty" json:"buildmode,omitempty"`
	Ldflags   StringArray `yaml:"ldflags,omitempty" json:"ldflags,omitempty"`
	Tags      FlagArray   `yaml:"tags,omitempty" json:"tags,omitempty"`
	Flags     FlagArray   `yaml:"flags,omitempty" json:"flags,omitempty"`
	Asmflags  StringArray `yaml:"asmflags,omitempty" json:"asmflags,omitempty"`
	Gcflags   StringArray `yaml:"gcflags,omitempty" json:"gcflags,omitempty"`
	Env       []string    `yaml:"env,omitempty" json:"env,omitempty"`
}

type BuildDetailsOverride

type BuildDetailsOverride struct {
	Goos         string                          `yaml:"goos,omitempty" json:"goos,omitempty"`
	Goarch       string                          `yaml:"goarch,omitempty" json:"goarch,omitempty"`
	Goarm        string                          `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
	Gomips       string                          `yaml:"gomips,omitempty" json:"gomips,omitempty"`
	Goamd64      string                          `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
	BuildDetails `yaml:",inline" json:",inline"` // nolint: tagliatelle
}

type BuildHookConfig

type BuildHookConfig struct {
	Pre  Hooks `yaml:"pre,omitempty" json:"pre,omitempty"`
	Post Hooks `yaml:"post,omitempty" json:"post,omitempty"`
}

type FlagArray

type FlagArray []string

FlagArray is a wrapper for an array of strings.

func (FlagArray) JSONSchema

func (a FlagArray) JSONSchema() *jsonschema.Schema

func (*FlagArray) UnmarshalYAML

func (a *FlagArray) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.

type Hook

type Hook struct {
	Dir    string   `yaml:"dir,omitempty" json:"dir,omitempty"`
	Cmd    string   `yaml:"cmd,omitempty" json:"cmd,omitempty"`
	Env    []string `yaml:"env,omitempty" json:"env,omitempty"`
	Output bool     `yaml:"output,omitempty" json:"output,omitempty"`
}

func (Hook) JSONSchema

func (bh Hook) JSONSchema() *jsonschema.Schema

func (*Hook) UnmarshalYAML

func (bh *Hook) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML is a custom unmarshaler that allows simplified declarations of commands as strings.

type Hooks

type Hooks []Hook

func (*Hooks) UnmarshalYAML

func (bhc *Hooks) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML is a custom unmarshaler that allows simplified declaration of single command.

type IgnoredBuild

type IgnoredBuild struct {
	Goos    string `yaml:"goos,omitempty" json:"goos,omitempty"`
	Goarch  string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
	Goarm   string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
	Gomips  string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
	Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
}

IgnoredBuild represents a build ignored by the user.

type Options

type Options struct {
	Name    string
	Path    string
	Ext     string
	Target  string
	Goos    string
	Goarch  string
	Goamd64 string
	Goarm   string
	Gomips  string
}

type StringArray

type StringArray []string

StringArray is a wrapper for an array of strings.

func (StringArray) JSONSchema

func (a StringArray) JSONSchema() *jsonschema.Schema

func (*StringArray) UnmarshalYAML

func (a *StringArray) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.

Jump to

Keyboard shortcuts

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