Commit Graph

7 Commits (main)

Author SHA1 Message Date
Mike Frysinger 423f1e1914 pylint: support versioned pylintrc files
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>
2 months ago
Mike Frysinger 1dd73cd467 pylint: simplify PYLINTRC setup
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>
2 months ago
Gavin Mak f936d540e1 Remove __future__ imports
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>
1 year ago
Mike Frysinger 124bb8e53c switch to 4 space indent
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>
2 years ago
Josip Sokcevic 4de5deacd4 Explicitly run everything with python3
R=aravindvasudev@google.com, gavinmak@google.com

Change-Id: Iaa5e960c6226dea3a0814c7cb778d952eafb1502
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3525960
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
3 years ago
Michael Moss ae8b2c6c6a 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>
4 years ago
Mike Frysinger 53297790de pylint: rework wrapper to use vpython for multiple versions
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>
6 years ago