Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultCmdTimeout = 600 * time.Second
Functions ¶
This section is empty.
Types ¶
type BuildSpec ¶
type BuildSpec struct { Environment EnvironmentStage `json:"environment"` Dependencies DependenciesStage `json:"dependencies"` Test TestStage `json:"test"` Package PackageStage `json:"package"` }
func ParseBuildSpecFile ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func NewBuilder ¶
func NewBuilder(workdir string, build *BuildSpec, profile *ProfileSpec) (*Builder, error)
func (*Builder) ExecInEnvironment ¶
func (*Builder) ExecuteDependenciesStage ¶
func (*Builder) ExecuteEnivronmentStage ¶
func (*Builder) ExecuteTestStage ¶
type DependenciesStage ¶
type DependenciesStage struct {
BaseStage
}
type EnvironmentStage ¶
type LocalProfileResolver ¶
type LocalProfileResolver struct {
Path string
}
func (*LocalProfileResolver) ResolveProfile ¶
func (res *LocalProfileResolver) ResolveProfile() (*ProfileSpec, error)
type PackageStage ¶
type PackageStage struct {
PackageStageDocker `json:"docker"`
}
type PackageStageDocker ¶
type ProfileResolver ¶
type ProfileResolver interface {
ResolveProfile() (*ProfileSpec, error)
}
func NewProfileResolver ¶
func NewProfileResolver(profile string) (ProfileResolver, error)
type ProfileSpec ¶
type ProfileSpec struct { Shell string `json:"shell"` Image string `json:"image"` Workspace string `json:"workspace"` CacheDirectories []string `json:"cache_directories"` Dependencies []Step `json:"dependencies"` Test []Step `json:"test"` }
func ParseProfileSpec ¶
func ParseProfileSpec(src io.Reader) (*ProfileSpec, error)
func ParseProfileSpecFile ¶
func ParseProfileSpecFile(file string) (*ProfileSpec, error)
type Step ¶
type Step struct { Cmd string `json:"cmd"` Timeout int `json:"timeout"` Cache bool `json:"cache"` Env []string `json:"environment"` Pwd string `json:"pwd"` }
func (*Step) UnmarshalJSON ¶
Click to show internal directories.
Click to hide internal directories.