def create_fs_tasks():
  return [
    # Glob execution.
    (Stats,
     [SelectProjection(Stats, Dir, ('directory',), PathWildcard),
      Select(PathWildcard)],
     apply_path_wildcard),
    (PathGlobs,
     [SelectProjection(Dirs, Path, ('directory',), PathLiteral),
      Select(PathLiteral)],
     apply_path_literal),
    (PathGlobs,
     [SelectProjection(Dirs, Dir, ('directory',), PathDirWildcard),
      Select(PathDirWildcard)],
     apply_path_dir_wildcard),
  ] + [
    # Link resolution.
    (Dirs,
     [Select(Stats),
      SelectProjection(Dirs, Links, ('links',), Stats)],
     resolve_dir_links),
    (Dirs,
     [SelectProjection(Dirs, Path, ('path',), ReadLink)],
     identity),
    (Files,
     [Select(Stats),
      SelectProjection(Files, Links, ('links',), Stats)],
     resolve_file_links),
    (Files,
     [SelectProjection(Files, Path, ('path',), ReadLink)],
     identity),
  ] + [
    # TODO: These are boilerplatey: aggregation should become native:
    #   see https://github.com/pantsbuild/pants/issues/3169
    (Stats,
     [SelectDependencies(Stats, PathGlobs)],
     merge_stats),
    (Stats,
     [SelectDependencies(Stats, DirectoryListing, field='paths')],
     merge_stats),
    (Files,
     [SelectDependencies(Files, Links)],
     merge_files),
    (Dirs,
     [SelectDependencies(Dirs, Links)],
     merge_dirs),
    (FilesContent,
     [SelectDependencies(FileContent, Files)],
     files_content),
  ]
Creates tasks that consume the native filesystem Node type.
dataset/ETHPy150Open pantsbuild/pants/src/python/pants/engine/exp/fs.py/create_fs_tasks