Skip to content

Commit 54f3e96

Browse files
committed
Resolve external fields in transforms
1 parent cf5db64 commit 54f3e96

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

internal/builder/external_fields.go

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,11 @@ func resolveExternalFields(packageRoot, destinationDir string) error {
3737
return fmt.Errorf("can't create field dependency manager: %w", err)
3838
}
3939

40-
dataStreamFieldsFiles, err := filepath.Glob(filepath.Join(destinationDir, "data_stream", "*", "fields", "*.yml"))
40+
fieldsFiles, err := listAllFieldsFiles(destinationDir)
4141
if err != nil {
42-
return err
42+
return fmt.Errorf("failed to list fields files under \"%s\": %w", destinationDir, err)
4343
}
4444

45-
packageFieldsFiles, err := filepath.Glob(filepath.Join(destinationDir, "fields", "*.yml"))
46-
if err != nil {
47-
return err
48-
}
49-
50-
var fieldsFiles = append(packageFieldsFiles, dataStreamFieldsFiles...)
5145
for _, file := range fieldsFiles {
5246
data, err := os.ReadFile(file)
5347
if err != nil {
@@ -69,9 +63,32 @@ func resolveExternalFields(packageRoot, destinationDir string) error {
6963
logger.Debugf("%s: source file hasn't been changed", rel)
7064
}
7165
}
66+
7267
return nil
7368
}
7469

70+
func listAllFieldsFiles(dir string) ([]string, error) {
71+
patterns := []string{
72+
// Package fields
73+
filepath.Join(dir, "fields", "*.yml"),
74+
// Data stream fields
75+
filepath.Join(dir, "data_stream", "*", "fields", "*.yml"),
76+
// Transform fields
77+
filepath.Join(dir, "elasticsearch", "transform", "*", "fields", "*.yml"),
78+
}
79+
80+
var paths []string
81+
for _, pattern := range patterns {
82+
matches, err := filepath.Glob(pattern)
83+
if err != nil {
84+
return nil, err
85+
}
86+
paths = append(paths, matches...)
87+
}
88+
89+
return paths, nil
90+
}
91+
7592
func injectFields(fdm *fields.DependencyManager, content []byte) ([]byte, bool, error) {
7693
var f []common.MapStr
7794
err := yaml.Unmarshal(content, &f)

0 commit comments

Comments
 (0)