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'.