commit | ae8b2c6c6a4116adb5619b924236e4c08aebed8c | [log] [tgz] |
---|---|---|
author | Michael Moss <mmoss@google.com> | Tue Feb 23 17:24:56 2021 +0000 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Feb 23 17:24:56 2021 +0000 |
tree | 7ceae7c1626126df101fd3a16855ab9b9b3ecb82 | |
parent | e71d0282d1d2ac6702c317e0d4eab83d57d4ae9d [diff] |
Don't make depot_tools pylintrc override local pylint configs. In the current pylint handling, the only way to use an alternative config is to explicitly pass it with the "--rcfile" flag, which is confusingly inconsistent with normal pylint config file resolution. This change allows local pylintrc files or PYLINTRC env var to override the default depot_tools config, which is often desirable to enforce different style guidelines for different projects. For reference, the config file search order[1] is: 1) File specified by the "--rcfile" flag 2) pylintrc in the CWD 3) .pylintrc in the CWD 4) first pylintrc found up the python module hierarchy, if CWD is in a module hierarchy 5) $PYLINTRC env var 6) $HOME/.pylintrc 7) $HOME/.config/pylintrc 8) /etc/pylintrc (or equivalent on other platforms) - 1-5 will take precedence over the new depot_tools default. - If there is no match for 1-5 and there is no PYLINTRC env var, depot_tools will set PYLINTRC to its default and that will be used. - If there is no match for 1-5 and the PYLINTRC env var is empty, then it will fall through to 6-8. [1] Newer pylints have additional options, but these are the options, and the order, common to all versions of depot_tools pylint. Change-Id: Ib725b15bb639dc9c7cb9009fd3b504124e0c1f2a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2708749 Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Dirk Pranke <dpranke@google.com> Commit-Queue: Michael Moss <mmoss@chromium.org>
Tools for working with Chromium development. It requires python 2.7 or 3.8 for python 3 support.
The most important tools are:
fetch
: A gclient
wrapper to checkout a project. Use fetch --help
for more details.gclient
: A meta-checkout tool. Think repo or git submodules, except that it support OS-specific rules, e.g. do not checkout Windows only dependencies when checking out for Android. Use gclient help
for more details and README.gclient.md.git cl
: A code review tool to interact with Rietveld or Gerrit. Use git cl help
for more details and README.git-cl.md.roll-dep
: A gclient dependency management tool to submit a dep roll, updating a dependency to a newer revision.There are a lot of git utilities included.
depot_tools
updates itself automatically when running gclient
tool. To disable auto update, set the environment variable DEPOT_TOOLS_UPDATE=0
.
To update package manually, run update_depot_tools.bat
on Windows, or ./update_depot_tools
on Linux or Mac.
On Windows only, running gclient
will install git
and python
.
To contribute change for review:
git new-branch <somename> # Hack git add . git commit -a -m "Fixes goat teleporting" # find reviewers git cl owners git log -- <yourfiles> # Request a review. git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail # Edit change description if needed. git cl desc # If change is approved, flag it to be committed. git cl set-commit # If change needs more work. git rebase-update ... git cl upload -t "Fixes goat teleporter destination to be Australia"
See also open bugs, open reviews, forum or report problems.
Until 2018, our cpplint.py
was a copy of the upstream version at https://github.com/google/styleguide/tree/gh-pages/cpplint. Unfortunately, that repository is not maintained any more. If you want to update cpplint.py
in depot_tools
, just upload a patch to do so. We will figure out a long-term strategy via issue https://crbug.com/916550.
Note that the cpplint.py
here is also used by the Tricium analyzer, so if the cpplint.py here changes, we should also update the copy used there.