@@ -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+
7592func injectFields (fdm * fields.DependencyManager , content []byte ) ([]byte , bool , error ) {
7693 var f []common.MapStr
7794 err := yaml .Unmarshal (content , & f )
0 commit comments