Files
chromium_depot_tools/.gitignore
Bruce Dawson f2b0421fff Report when vpython (Python 2) is run during presubmits
While all Chromium PRESUBMIT.py scripts have been running on Python 2
for a long time they continue to invoke child scripts under Python 2.
Part of the reason for slow progress on this transition is that it is
not easy to tell that this is happening, and most developers probably
assume that Python 3 presubmits implies a lack of Python 2.

This change adds a warning when it detects Python 2 scripts being run.
Typical output (edited for clarity) looks like this:

  git cl presubmit --files "chrome/updater/tools/*;ppapi/generators/*"
...
  Python 2 scripts were run during Python 3 presubmits. Please ask ??? if help is needed in preventing this.
   "depot_tools\pylint-1.5" --args-on-stdin from chrome\updater\tools \
   "depot_tools\pylint-1.5" --args-on-stdin from chrome\updater\tools \
   idl_tests.py from ppapi\generators

If Python 2 scripts launch child scripts, especially if they use
sys.executable, then they will not be reported. However this is a good
thing because it means that the report focuses on the top-level scripts
that drive Python 2 usage.

This change works by modifying vpython.bat to write invocation
information to a text file. The data in this text file is picked up by
presubmit_support.py when it finishes running a set of presubmits.

Bug: 1313804
Change-Id: Ic632b38eae07eca2e02e94358305cc9c998818e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3699002
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
2022-06-10 16:42:54 +00:00

99 lines
1.8 KiB
Plaintext

# Ignore any python bytecode.
*.pyc
# ignore cipd client files
/.cipd_bin
/.cipd_client*
/.versions
# Ignore "disable auto update" sentinel file.
.disable_auto_update
# Ignore the batch files produced by the Windows bootstrapping.
/git-bash
/git.bat
/gitk.bat
/.pylint.d/
/python
/python.bat
/python3.bat
/ssh.bat
/ssh-keygen.bat
/svn
/svn.bat
/svnversion.bat
/.bleeding_edge
/.codereview_upload_cookies
/.gitconfig
/.git_bleeding_edge
/.git_cl_description_backup
/.last_codereview_email_address
/.ssh
/.subversion
# Ignore locations where third-party tools are placed during bootstrapping.
/bootstrap*_bin
/python*_bin
/python_bin_reldir.txt
/python3_bin_reldir.txt
/win_tools*_bin
/git_bin
/git-*_bin
/svn_bin
/external_bin
/win_toolchain/vs2013_files
/win_toolchain/vs_files
/win_toolchain/*.timestamps
/win_toolchain/.vspro
/win_toolchain/data.json
/win_toolchain/vs_files.ciopfs
# Ignore ctags/cscope index files
/TAGS
/cscope.files
/cscope.in.out
/cscope.out
/cscope.po.out
/tags
# Ignore unittest related files.
/testing_support/_infra
/testing_support/_rietveld
/tests/git-svn-submodule/
/tests/subversion_config/README.txt
/tests/subversion_config/auth
/tests/subversion_config/servers
/tests/svn/
/tests/svnrepo/
# Ignore intermediate isolate files
*.isolated
*.isolated.state
# Ignore recipe working directory.
/.recipe_deps
/infra/.recipe_deps
/recipes/.recipe_deps
# Ignore google AE downloaded for running testing only.
testing_support/google_appengine
# Ignore emacs / vim backup files.
*~
*.swp
# Ignore the monitoring config. It is unique for each user.
/metrics.cfg
# Ignore the ninjalog upload config.
/ninjalog.cfg
# Ignore git traces produced by git push on git-cl upload.
/traces
# Ignore VsChromium configuration file.
/vs-chromium-project.txt
# Ignore the file that logs Python 2 scripts run during presubmits.
/python2_usage.txt