mirror of https://github.com/databricks/cli.git
37 lines
824 B
Go
37 lines
824 B
Go
package mutator
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/databricks/bricks/bundle"
|
|
"golang.org/x/exp/slices"
|
|
)
|
|
|
|
type defineDefaultInclude struct {
|
|
include []string
|
|
}
|
|
|
|
// DefineDefaultInclude sets the list of includes to a default if it hasn't been set.
|
|
func DefineDefaultInclude() bundle.Mutator {
|
|
return &defineDefaultInclude{
|
|
// When we support globstar we can collapse below into a single line.
|
|
include: []string{
|
|
// Load YAML files in the same directory.
|
|
"*.yml",
|
|
// Load YAML files in subdirectories.
|
|
"*/*.yml",
|
|
},
|
|
}
|
|
}
|
|
|
|
func (m *defineDefaultInclude) Name() string {
|
|
return "DefineDefaultInclude"
|
|
}
|
|
|
|
func (m *defineDefaultInclude) Apply(_ context.Context, b *bundle.Bundle) ([]bundle.Mutator, error) {
|
|
if len(b.Config.Include) == 0 {
|
|
b.Config.Include = slices.Clone(m.include)
|
|
}
|
|
return nil, nil
|
|
}
|