tools/format: don't format files in third_party on Windows
#!/usr/bin/env python
+from glob import glob
import os
from third_party import third_party_path, fix_symlinks, google_env, clang_format_path
from util import root_path, run, find_exts
@@ -18,9 +19,14 @@ run([clang_format_path, "-i", "-style", "Google"] +
for fn in ["BUILD.gn", ".gn"] + find_exts("build_extra", ".gn", ".gni"):
run(["third_party/depot_tools/gn", "format", fn], env=google_env())
+# We use `glob()` instead of `find_exts()` in the tools directory, because:
+# * On Windows, `os.walk()` (called by `find_exts()`) follows symlinks.
+# * The tools directory contains a symlink 'clang', pointing at the directory
+# 'third_party/v8/tools/clang', which contains many .py files.
+# * These third party python files shouldn't be formatted.
+# * The tools directory has no subdirectories, so `glob()` is sufficient.
# TODO(ry) Install yapf in third_party.
-run(["yapf", "-i"] + find_exts("tools/", ".py") +
- find_exts("build_extra", ".py"))
+run(["yapf", "-i"] + glob("tools/*.py") + find_exts("build_extra", ".py"))
run(["node", prettier, "--write"] + find_exts("js/", ".js", ".ts") +
find_exts("tests/", ".js", ".ts") +
