diff --git a/legacy/builder/builder_utils/utils.go b/legacy/builder/builder_utils/utils.go index f324940cfdb..af5349bf5bd 100644 --- a/legacy/builder/builder_utils/utils.go +++ b/legacy/builder/builder_utils/utils.go @@ -38,15 +38,6 @@ import ( var tr = i18n.Tr -func findAllFilesInFolder(sourcePath *paths.Path, recurse bool) (paths.PathList, error) { - if !recurse { - return sourcePath.ReadDir(paths.FilterOutDirectories()) - } - return sourcePath.ReadDirRecursiveFiltered( - utils.FilterOutSCCS, - paths.FilterOutDirectories()) -} - // FilesAreOlderThan returns true if the given files are older than target. func FilesAreOlderThan(files paths.PathList, target *paths.Path) (bool, error) { targetStat, err := target.Stat() @@ -329,7 +320,7 @@ func removeEndingBackSlash(s string) string { } func CoreOrReferencedCoreHasChanged(corePath, targetCorePath, targetFile *paths.Path) bool { - files, err := findAllFilesInFolder(corePath, true) + files, err := utils.FindFilesInFolder(corePath, true) if err != nil { return true } @@ -345,7 +336,7 @@ func CoreOrReferencedCoreHasChanged(corePath, targetCorePath, targetFile *paths. } func TXTBuildRulesHaveChanged(corePath, targetCorePath, targetFile *paths.Path) bool { - files, err := utils.FindFilesInFolder(corePath, true, []string{".txt"}) + files, err := utils.FindFilesInFolder(corePath, true, ".txt") if err != nil { return true } diff --git a/legacy/builder/container_find_includes.go b/legacy/builder/container_find_includes.go index 4c78e18ce18..5d849b927ed 100644 --- a/legacy/builder/container_find_includes.go +++ b/legacy/builder/container_find_includes.go @@ -427,7 +427,7 @@ func queueSourceFilesFromFolder(ctx *types.Context, sourceFileQueue *types.Uniqu for k := range globals.SourceFilesValidExtensions { sourceFileExtensions = append(sourceFileExtensions, k) } - filePaths, err := utils.FindFilesInFolder(folder, recurse, sourceFileExtensions) + filePaths, err := utils.FindFilesInFolder(folder, recurse, sourceFileExtensions...) if err != nil { return errors.WithStack(err) } diff --git a/legacy/builder/create_cmake_rule.go b/legacy/builder/create_cmake_rule.go index 9a2bbecef60..acbce09e2cb 100644 --- a/legacy/builder/create_cmake_rule.go +++ b/legacy/builder/create_cmake_rule.go @@ -222,7 +222,7 @@ func (s *ExportProjectCMake) Run(ctx *types.Context) error { } // Remove stray folders contining incompatible or not needed libraries archives - files, _ := utils.FindFilesInFolder(libDir.Join("src"), true, validStaticLibExtensions) + files, _ := utils.FindFilesInFolder(libDir.Join("src"), true, validStaticLibExtensions...) for _, file := range files { staticLibDir := file.Parent() if !isStaticLib || !strings.Contains(staticLibDir.String(), mcu) { @@ -251,7 +251,7 @@ func (s *ExportProjectCMake) Run(ctx *types.Context) error { } // remove "#line 1 ..." from exported c_make folder sketch - sketchFiles, _ := utils.FindFilesInFolder(cmakeFolder.Join("sketch"), false, validExportExtensions) + sketchFiles, _ := utils.FindFilesInFolder(cmakeFolder.Join("sketch"), false, validExportExtensions...) for _, file := range sketchFiles { input, err := file.ReadFile() @@ -285,11 +285,11 @@ func (s *ExportProjectCMake) Run(ctx *types.Context) error { extractCompileFlags(ctx, "recipe.cpp.o.pattern", &defines, &dynamicLibsFromGccMinusL, &linkerflags, &linkDirectories) // Extract folders with .h in them for adding in include list - headerFiles, _ := utils.FindFilesInFolder(cmakeFolder, true, validHeaderExtensions) + headerFiles, _ := utils.FindFilesInFolder(cmakeFolder, true, validHeaderExtensions...) foldersContainingHeaders := findUniqueFoldersRelative(headerFiles.AsStrings(), cmakeFolder.String()) // Extract folders with .a in them for adding in static libs paths list - staticLibs, _ := utils.FindFilesInFolder(cmakeFolder, true, validStaticLibExtensions) + staticLibs, _ := utils.FindFilesInFolder(cmakeFolder, true, validStaticLibExtensions...) // Generate the CMakeLists global file diff --git a/legacy/builder/utils/utils.go b/legacy/builder/utils/utils.go index 0c39c0efdc2..102b007883f 100644 --- a/legacy/builder/utils/utils.go +++ b/legacy/builder/utils/utils.go @@ -126,14 +126,19 @@ func ExecCommand(ctx *types.Context, command *exec.Cmd, stdout int, stderr int) return outbytes, errbytes, errors.WithStack(err) } -func FindFilesInFolder(dir *paths.Path, recurse bool, extensions []string) (paths.PathList, error) { +func FindFilesInFolder(dir *paths.Path, recurse bool, extensions ...string) (paths.PathList, error) { fileFilter := paths.AndFilter( - paths.FilterSuffixes(extensions...), FilterOutHiddenFiles, FilterOutSCCS, paths.FilterOutDirectories(), FilterReadableFiles, ) + if len(extensions) > 0 { + fileFilter = paths.AndFilter( + paths.FilterSuffixes(extensions...), + fileFilter, + ) + } if recurse { dirFilter := paths.AndFilter( FilterOutHiddenFiles,