Ruff lint: relint tools (part 3/4: perf .. win).

Migrate tools/ subdirectories (perf through win) and top-level tools/
scripts from Pylint to Ruff for Python linting. Enable CheckRuff in
top-level tools/PRESUBMIT.py, centralize disabled lint rules in
tools/.ruff.toml with descriptive comments, remove obsolete subdirectory
Pylint checks and tools/perf/pylintrc, and clean up legacy pylint
comments without deleting imports or adding inline noqa comments.

LSC Doc: https://docs.google.com/document/d/1QRhY2yqlicseeVRVLa_gk4YXL4IBSM913-ZW1SdPZLU/edit?tab=t.0

Bug: 539486220
Change-Id: Iab375b592e0a52587521d17f967ffc932d3b5e1f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8498934
Owners-Override: Alex Ovsienko <ovsienko@google.com>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Alex Ovsienko <ovsienko@google.com>
Cr-Commit-Position: refs/heads/main@{#1714288}
NOKEYCHECK=True
GitOrigin-RevId: a8ace9346d60226c9934262115fb3e9759163817
2 files changed
tree: 5886b03ae42ddf672876483709a3078c802d727c
  1. google/
  2. .ruff.toml
  3. llvm_objdump.py
  4. llvm_symbolizer.py
  5. OWNERS
  6. README.md
README.md

//tools/python

This directory is meant to contain Python code that is:

  1. Not platform-specific (e.g. //tools/android/python_utils).
  2. Useful to multiple other tools.

All Python code that is used by GN actions or templates within //build must live under //build, since that directory cannot have deps outside of it. However, code here can be used by GN actions or templates that live outside of //build.

When adding code to this directory, or when adding a dep onto code that lives in this directory, please consider whether or not duplicating the code would actually a better choice. Code re-use is helpful, but dependencies also come with a cost, especially when it comes to being able to test changes to shared code.