• Michael Moss's avatar
    Don't make depot_tools pylintrc override local pylint configs. · ae8b2c6c
    Michael Moss authored
    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/+/2708749Reviewed-by: 's avatarMike Frysinger <vapier@chromium.org>
    Reviewed-by: 's avatarDirk Pranke <dpranke@google.com>
    Commit-Queue: Michael Moss <mmoss@chromium.org>
    ae8b2c6c
pylint_main.py 2.16 KB