The presubmit code already picks pylintrc-$VER for pylint-$VER files,
but running pylint-$VER directly does not. This is confusing for
people where `git cl presubmit` does one thing, but `./pylint-$VER`
does another.
Change-Id: I074c34db43cbc383ecab4ff3f9a71b8f2b611d15
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6150452
Reviewed-by: Joanna Wang <jojwang@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
The os.path.isfile(RC_FILE) check isn't necessary because RC_FILE
always exists -- it's checking for a static file in depot_tools.
os.environ.setdefault('PYLINTRC',...) is the same thing as checking
'PYLINTRC' in os.environ first. Use that to simplify and drop the
if entirely.
Change-Id: Ib1fb8323c9bceebc5b22484988e9794586aa5e9a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6150451
Auto-Submit: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
All __future__ imports (unicode_literals, print_function) are already
mandatory in py3. Also remove an outdated py2 comment in
presubmit_canned_checks.py
Bug: 1475402
Change-Id: I27cf6a8268f6dd1081f22af782c4c29a975376ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4867135
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Leave the recipes/ code at 2 space to match the rest of the recipes
project in other repos.
Reformatted using:
files=( $(
git ls-tree -r --name-only HEAD | \
grep -Ev -e '^(third_party|recipes)/' | \
grep '\.py$';
git grep -l '#!/usr/bin/env.*python' | grep -v '\.py$'
) )
parallel ./yapf -i -- "${files[@]}"
~/chromiumos/chromite/contrib/reflow_overlong_comments "${files[@]}"
The files that still had strings that were too long were manually
reformatted because they were easy and only a few issues.
autoninja.py
clang_format.py
download_from_google_storage.py
fix_encoding.py
gclient_utils.py
git_cache.py
git_common.py
git_map_branches.py
git_reparent_branch.py
gn.py
my_activity.py
owners_finder.py
presubmit_canned_checks.py
reclient_helper.py
reclientreport.py
roll_dep.py
rustfmt.py
siso.py
split_cl.py
subcommand.py
subprocess2.py
swift_format.py
upload_to_google_storage.py
These files still had lines (strings) that were too long, so the pylint
warnings were suppressed with a TODO.
auth.py
gclient.py
gclient_eval.py
gclient_paths.py
gclient_scm.py
gerrit_util.py
git_cl.py
presubmit_canned_checks.py
presubmit_support.py
scm.py
Change-Id: Ia6535c4f2c48d46b589ec1e791dde6c6b2ea858f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4836379
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Auto-Submit: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
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>
This allows people to pin a specific version of pylint when running
it. The default behavior is unchanged: we run pylint-1.5.6 still
as we've created a vpython wheel in cipd for it. But for projects
that want to move to a newer version, they can pick any of the new
1.x wrappers. Having the full set of versions here allows projects
to incrementally move to newer versions as the lint delta between
1.5 & 1.6 tends to be much smaller than 1.5 & 1.9.
We don't include support for the newer 2.x series as those only
support Python 3 which the codebase isn't ready for.
Bug: 866772
Test: `./pylint ...` still works & shows pylint-1.5
Test: `./pylint-1.5 ...` runs the v1.5 version
Test: `./pylint-1.8 ...` runs the v1.8 version
Change-Id: I7c47187493564db81e3eb28c6dbd09e6309ead46
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1752507
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>