Documentation
¶
Index ¶
- func ExecuteSteps(steps []dsl.Step, ctx dsl.Context, outputDir string, dryRun bool) ([]template.StepResult, error)
- func ExecuteStepsWithObserver(steps []dsl.Step, ctx dsl.Context, outputDir string, dryRun bool, ...) ([]template.StepResult, error)
- func ListAll() ([]*template.Template, error)
- func ProcessFiles(req *template.ScaffoldRequest) (created []string, skipped []string, err error)
- func Resolve(name string) (*template.Template, error)
- type Engine
- type RollbackManager
- type StepObserver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExecuteSteps ¶
func ExecuteSteps(steps []dsl.Step, ctx dsl.Context, outputDir string, dryRun bool) ([]template.StepResult, error)
ExecuteSteps runs post-generation steps in order.
func ExecuteStepsWithObserver ¶
func ExecuteStepsWithObserver(steps []dsl.Step, ctx dsl.Context, outputDir string, dryRun bool, obs StepObserver) ([]template.StepResult, error)
ExecuteStepsWithObserver runs steps and notifies an observer of progress.
func ListAll ¶
ListAll returns all templates (local + built-in), without duplicates by name. Local templates take priority over built-ins when names collide.
func ProcessFiles ¶
func ProcessFiles(req *template.ScaffoldRequest) (created []string, skipped []string, err error)
ProcessFiles copies/renders files from a template into the request OutputDir.
Types ¶
type Engine ¶
type Engine struct{}
func (*Engine) Scaffold ¶
func (e *Engine) Scaffold(req *template.ScaffoldRequest) (*template.ScaffoldResult, error)
type RollbackManager ¶
type RollbackManager struct {
// contains filtered or unexported fields
}
RollbackManager tracks created files/dirs so we can roll them back on failure.
func NewRollbackManager ¶
func NewRollbackManager(dryRun bool) *RollbackManager
func (*RollbackManager) Commit ¶
func (r *RollbackManager) Commit()
Commit marks the operation as successful; rollback becomes a no-op.
func (*RollbackManager) Rollback ¶
func (r *RollbackManager) Rollback() error
Rollback removes tracked files and dirs in reverse order. It returns a combined error if any deletion fails.
func (*RollbackManager) Track ¶
func (r *RollbackManager) Track(path string)
Track registers a file to be removed if rollback occurs.
func (*RollbackManager) TrackDir ¶
func (r *RollbackManager) TrackDir(path string)
TrackDir registers a directory to be removed if rollback occurs.
type StepObserver ¶
type StepObserver interface {
OnStepStart(step dsl.Step, interpolatedCommand string)
OnStepSkipped(step dsl.Step)
OnStepSuccess(step dsl.Step, output string)
OnStepFailure(step dsl.Step, err error, output string)
}
StepObserver is an optional hook used to report step execution progress. All callbacks are best-effort; observers must be fast and must not panic.