// Package phases defines build phases as logical groups of [bundle.Mutator] instances. package phases import ( "context" "github.com/databricks/cli/bundle" "github.com/databricks/cli/libs/log" ) // This phase type groups mutators that belong to a lifecycle phase. // It expands into the specific mutators when applied. type phase struct { name string mutators []bundle.Mutator } func newPhase(name string, mutators []bundle.Mutator) bundle.Mutator { return &phase{ name: name, mutators: mutators, } } func (p *phase) Name() string { return p.name } func (p *phase) Apply(ctx context.Context, b *bundle.Bundle) error { log.Infof(ctx, "Phase: %s", p.Name()) return bundle.Apply(ctx, b, bundle.Seq(p.mutators...)) }