my configuration
$ cat .arclint
{
"linters": {
"pylint": {
"type": "pylint",
"include": "(\\.py$)",
"exclude": "(^DB/)"
}
}
}
$ cat .arcconfig
{
"lint.engine": "ArcanistConfigurationDrivenLintEngine",
"lint.pylint.codes.error": "^(E|F).*",
"lint.pylint.codes.warning": "^(W|R).*",
"lint.pylint.codes.advice": "^C.*",
"unit.engine": "NoseTestEngine"
}
From the latest pulled version of arcanist (7b61faa1927ece536edac2c81b2f8f35ac4ca4f6), running the following throws an exception
$ arc lint
Exception
Linter 'pylint' specifies invalid type 'pylint'. Available linters are: csharp, chmod, filename, phutil-xhpast, xhpast, csslint, gjslint, coffeelint, cppcheck, cpplint, flake8, golint, jshint, jsonlint, lessc, pep8, phpcs, puppet-lint, pyflakes, ruby, scala-sbt, generated, merge-conflict, nolint, phutil-library, script-and-regex, spelling, text, xml.
(Run with --trace for a full exception trace.)
I believe this is because src/lint/linter/ArcanistPyLintLinter.php is missing a getLinterConfigurationName function.
Indeed applying the following change fixes the problem:
diff --git a/src/lint/linter/ArcanistPyLintLinter.php b/src/lint/linter/ArcanistPyLintLinter.php
index 9ce9202..ae77d51 100644
--- a/src/lint/linter/ArcanistPyLintLinter.php
+++ b/src/lint/linter/ArcanistPyLintLinter.php
@@ -199,6 +199,10 @@ final class ArcanistPyLintLinter extends ArcanistLinter {
return 'PyLint';
}
+ public function getLinterConfigurationName() {
+ return 'pylint';
+ }
+
private function getLinterVersion() {
If this is the correct solution could we please get this fixed on master?