Documentation ¶
Overview ¶
Package stages defines the stages which are included in pipelines.
Package stages contains functionality for managing stage lifecycle ¶
Package stages contains functionality for managing stage lifecycle ¶
Package stages contains functionality for managing stage lifecycle ¶
Package stages contains functionality for managing stage lifecycle
Index ¶
- func PrepareCh(stage Stage)
- type BaseStage
- func (b *BaseStage) AddChildStage(stage Stage)
- func (b *BaseStage) GetChildStages() list.List
- func (b *BaseStage) GetErrResult() string
- func (b *BaseStage) GetInputCh() *chan Mediator
- func (b *BaseStage) GetOutResult() string
- func (b *BaseStage) GetOutputCh() *chan Mediator
- func (b *BaseStage) GetReturnValue() bool
- func (b *BaseStage) GetStageName() string
- func (b *BaseStage) GetStageOpts() StageOpts
- func (b *BaseStage) Run() bool
- func (b *BaseStage) SetErrResult(result string)
- func (b *BaseStage) SetInputCh(inputCh *chan Mediator)
- func (b *BaseStage) SetOutResult(result string)
- func (b *BaseStage) SetOutputCh(outputCh *chan Mediator)
- func (b *BaseStage) SetStageName(stageName string)
- func (b *BaseStage) SetStageOpts(stageOpts StageOpts)
- type CommandStage
- type Mediator
- type ResourceValidator
- type Runner
- type ShellScriptStage
- type Stage
- type StageOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseStage ¶
type BaseStage struct { // Run specified process. The required method (Run) is defined in the inheirted structs. Runner // Input channel. This channel stores the input of the statge. InputCh *chan Mediator // Output channel. This channel stores the output of the statge. OutputCh *chan Mediator // List of child stages. ChildStages list.List // Stage name. StageName string `config:"name"` // Results of stdout flush by the stage. OutResult string // Results of stderr flush by the stage. ErrResult string // Return value of the stage ReturnValue bool // options of the stage. Opts StageOpts }
BaseStage is an abstract struct implemented by the inherited struct that wishes to run somthing in a stage.
func (*BaseStage) AddChildStage ¶
AddChildStage appends one child stage.
func (*BaseStage) GetChildStages ¶
GetChildStages returns a list of child stages.
func (*BaseStage) GetErrResult ¶ added in v1.1.0
GetErrResult returns standard error results.
func (*BaseStage) GetInputCh ¶
GetInputCh retruns input channel.
func (*BaseStage) GetOutResult ¶ added in v1.1.0
GetOutResult returns standard output results.
func (*BaseStage) GetOutputCh ¶
GetOutputCh retruns output channel.
func (*BaseStage) GetReturnValue ¶ added in v1.3.0
GetReturnValue returns return value of the stage
func (*BaseStage) GetStageName ¶
GetStageName returns the name of the current stage
func (*BaseStage) GetStageOpts ¶ added in v1.1.0
GetStageOpts returns stage options.
func (*BaseStage) SetErrResult ¶ added in v1.1.0
SetErrResult sets standard error results.
func (*BaseStage) SetInputCh ¶
SetInputCh sets input channel.
func (*BaseStage) SetOutResult ¶ added in v1.1.0
SetOutResult sets standard output results.
func (*BaseStage) SetOutputCh ¶
SetOutputCh sets output channel.
func (*BaseStage) SetStageName ¶
SetStageName sets stage name.
func (*BaseStage) SetStageOpts ¶ added in v1.1.0
SetStageOpts sets stage options.
type CommandStage ¶
type CommandStage struct { BaseStage Command string `config:"command" is_replace:"false"` Directory string `config:"directory" is_replace:"true"` OnlyIf string `config:"only_if" is_replace:"false"` }
CommandStage executes more than one commands.
func NewCommandStage ¶
func NewCommandStage() *CommandStage
NewCommandStage creates one CommandStage object.
func (*CommandStage) AddCommand ¶
func (commandStage *CommandStage) AddCommand(command string)
AddCommand registers the specified command.
func (*CommandStage) GetStdoutResult ¶
func (commandStage *CommandStage) GetStdoutResult() string
GetStdoutResult returns the stdio output from the command.
func (*CommandStage) SetDirectory ¶
func (commandStage *CommandStage) SetDirectory(directory string)
SetDirectory sets the directory where the command is executed.
type Mediator ¶
Mediator stores the intermidate results.
func (*Mediator) IsAnyFailure ¶ added in v0.2.0
IsAnyFailure returns true when mediator found any failures. Otherwise This method returns false.
type ResourceValidator ¶
type ResourceValidator struct {
// contains filtered or unexported fields
}
ResourceValidator class check if the resources to run the target staget are satisfied.
func NewResourceValidator ¶
func NewResourceValidator() *ResourceValidator
NewResourceValidator creates a new ResourceValidator
func (*ResourceValidator) AddCommandName ¶
func (resourceValidator *ResourceValidator) AddCommandName(c string)
AddCommandName adds the command to the validator
func (*ResourceValidator) AddFile ¶
func (resourceValidator *ResourceValidator) AddFile(f string)
AddFile add the suplied file to the validator file list TODO add permission
func (*ResourceValidator) Validate ¶
func (resourceValidator *ResourceValidator) Validate() bool
Validate validates if the command can be executed
type Runner ¶
type Runner interface {
Run() bool
}
Runner contains the Run method which is deined in Stage implemantations.
type ShellScriptStage ¶
type ShellScriptStage struct { ResourceValidator CommandStage File string `config:"file"` }
ShellScriptStage executes one shell script file.
func NewShellScriptStage ¶
func NewShellScriptStage() *ShellScriptStage
NewShellScriptStage generate one ShellScriptStage object.
func (*ShellScriptStage) Run ¶
func (shellScriptStage *ShellScriptStage) Run() bool
Run exectues specified shell script.
type Stage ¶
type Stage interface { AddChildStage(Stage) GetChildStages() list.List GetStageName() string SetStageName(string) GetStageOpts() StageOpts SetStageOpts(StageOpts) GetInputCh() *chan Mediator SetInputCh(*chan Mediator) GetOutputCh() *chan Mediator SetOutputCh(*chan Mediator) GetOutResult() string SetOutResult(string) GetErrResult() string SetErrResult(string) GetReturnValue() bool }
Stage is a interface type which declares a list of methods every Stage object should define.
type StageOpts ¶ added in v1.1.0
type StageOpts struct { // Flush all output when the value is true. ReportingFullOutput bool `config:"report_full_output"` }
StageOpts struct for handing stage outputs
func NewStageOpts ¶ added in v1.1.0
func NewStageOpts() *StageOpts
NewStageOpts creates a new stage output