Documentation
¶
Overview ¶
Package build provides the API for external builders
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Dependencies ¶
Dependencies returns all dependencies from all builders being used.
Types ¶
type Builder ¶
type Builder interface { WithDefaults(build config.Build) (config.Build, error) Build(ctx *context.Context, build config.Build, options Options) error Parse(target string) (Target, error) }
Builder defines a builder.
type ConcurrentBuilder ¶
type ConcurrentBuilder interface {
AllowConcurrentBuilds() bool
}
ConcurrentBuilder can be implemented to indicate whether or not this builder support concurrent builds.
type DependingBuilder ¶
type DependingBuilder interface {
Dependencies() []string
}
DependingBuilder can be implemented by builders that have dependencies.
type PreparedBuilder ¶
PreparedBuilder can be implemented to run something before all the actual builds happen.
type Target ¶
type Target interface { // String returns the original target. String() string // Fields returns the template fields that will be available for this // target (e.g. Os, Arch, etc). Fields() map[string]string }
Target represents a build target.
Each Builder implementation can implement its own.
type TargetFixer ¶
TargetFixer allows the builder to provide a way to "default" an incomplete target, e.g., on Go, 'darwin_arm64' would need to be defaulted to 'darwin_arm64_v8.0'.