HomePhabricator

Modernize `ArcanistPylintLinter`

Description

Modernize ArcanistPylintLinter

Summary:
Ref T2039. Convert the ArcanistPylintLinter to an ArcanistExternalLinter and make it compatible with .arclint. In doing so, it was necessary to drop support of older versions of pylint by setting the minimum version to be 1.0.0. I think that dropping support for older versions is reasonable because version 1.0.0 was released ~18 months ago. In the case than an incompatible version is detected, an ArcanistMissingLinterException is thrown.

One caveat here is that support for lint.pylint.codes.(error|warning|advice) is dropped. Any installs that are relying on this configuration will need to migrate to using the .arclint file for specifying linter severity. We could potentially continue to support this deprecated configuration, but I'm not sure if this is worthwhile.

Test Plan: Wrote and executed unit tests with arc unit. I ran the unit tests on all pylint releases after (and including) 1.0.0. Specifically, the tests were run on v1.0.0, v1.1.0, v1.2.0, v1.3.0 and v1.4.0.

Reviewers: epriestley, Blessed Reviewers

Reviewed By: epriestley, Blessed Reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T2039

Differential Revision: https://secure.phabricator.com/D9109

Details

Provenance
joshuaspenceAuthored on
joshuaspencePushed on May 14 2015, 8:08 AM
Reviewer
Blessed Reviewers
Differential Revision
D9109: Modernize `ArcanistPylintLinter`
Parents
rARC3ae1fed4f914: Use `__CLASS__` instead of hardcoding class names
Branches
Unknown
Tags
Unknown
Tasks
T5222: Exception pylint is an invalid linter
Restricted Maniphest Task