Skip to content

Commit

Permalink
Walk directories in filesystem source enumeration
Browse files Browse the repository at this point in the history
  • Loading branch information
mcastorina committed Jan 18, 2024
1 parent b0fd951 commit 8464244
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions pkg/sources/filesystem/filesystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,26 @@ func (s *Source) scanFile(ctx context.Context, path string, chunksChan chan *sou
// filepath or a directory.
func (s *Source) Enumerate(ctx context.Context, reporter sources.UnitReporter) error {
for _, path := range s.paths {
fileInfo, err := os.Stat(filepath.Clean(path))
if err != nil {
if err := reporter.UnitErr(ctx, err); err != nil {
return err
}
continue
}
if fileInfo.IsDir() {
return fs.WalkDir(os.DirFS(path), ".", func(relativePath string, d fs.DirEntry, err error) error {
if err != nil || relativePath == "." {
return nil
}
fullPath := filepath.Join(path, relativePath)
item := sources.CommonSourceUnit{ID: fullPath}
if err := reporter.UnitOk(ctx, item); err != nil {
return err
}
return nil
})
}
item := sources.CommonSourceUnit{ID: path}
if err := reporter.UnitOk(ctx, item); err != nil {
return err
Expand Down

0 comments on commit 8464244

Please sign in to comment.