mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 14:52:40 +01:00
Fill out some more info functions for libphutil-specific linters
Summary: Ref T2039. It looks like "phutil-library" didn't make it over, I'll add that to the other two (unless I'm wrong and this isn't an oversight?). Test Plan: Used `arc linters` to read help. Reviewers: btrahan, joshuaspence Reviewed By: joshuaspence Subscribers: epriestley Maniphest Tasks: T2039 Differential Revision: https://secure.phabricator.com/D9070
This commit is contained in:
parent
be803ce577
commit
7bbafe91d2
4 changed files with 40 additions and 2 deletions
4
.arclint
4
.arclint
|
@ -20,6 +20,10 @@
|
||||||
"type": "phutil-xhpast",
|
"type": "phutil-xhpast",
|
||||||
"include": "(\\.php$)"
|
"include": "(\\.php$)"
|
||||||
},
|
},
|
||||||
|
"phutil-library": {
|
||||||
|
"type": "phutil-library",
|
||||||
|
"include": "(\\.php$)"
|
||||||
|
},
|
||||||
"text": {
|
"text": {
|
||||||
"type": "text"
|
"type": "text"
|
||||||
},
|
},
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
* # If you define a symbol, it must not duplicate another definition.
|
* # If you define a symbol, it must not duplicate another definition.
|
||||||
* # If you define a class or interface in a file, it MUST be the only symbol
|
* # If you define a class or interface in a file, it MUST be the only symbol
|
||||||
* defined in that file.
|
* defined in that file.
|
||||||
*
|
|
||||||
* @group linter
|
|
||||||
*/
|
*/
|
||||||
final class ArcanistPhutilLibraryLinter extends ArcanistLinter {
|
final class ArcanistPhutilLibraryLinter extends ArcanistLinter {
|
||||||
|
|
||||||
|
@ -16,6 +14,20 @@ final class ArcanistPhutilLibraryLinter extends ArcanistLinter {
|
||||||
const LINT_DUPLICATE_SYMBOL = 2;
|
const LINT_DUPLICATE_SYMBOL = 2;
|
||||||
const LINT_ONE_CLASS_PER_FILE = 3;
|
const LINT_ONE_CLASS_PER_FILE = 3;
|
||||||
|
|
||||||
|
public function getInfoName() {
|
||||||
|
return 'Phutil Library Linter';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfoDescription() {
|
||||||
|
return pht(
|
||||||
|
'Make sure all the symbols use in a libphutil library are defined and '.
|
||||||
|
'known. This linter is specific to PHP source in libphutil libraries.');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLinterConfigurationName() {
|
||||||
|
return 'phutil-library';
|
||||||
|
}
|
||||||
|
|
||||||
public function getLintNameMap() {
|
public function getLintNameMap() {
|
||||||
return array(
|
return array(
|
||||||
self::LINT_UNKNOWN_SYMBOL => 'Unknown Symbol',
|
self::LINT_UNKNOWN_SYMBOL => 'Unknown Symbol',
|
||||||
|
|
|
@ -10,6 +10,16 @@ final class ArcanistPhutilXHPASTLinter extends ArcanistBaseXHPASTLinter {
|
||||||
private $dynamicStringFunctions = array();
|
private $dynamicStringFunctions = array();
|
||||||
private $dynamicStringClasses = array();
|
private $dynamicStringClasses = array();
|
||||||
|
|
||||||
|
public function getInfoName() {
|
||||||
|
return 'XHPAST/libphutil Lint';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfoDescription() {
|
||||||
|
return pht(
|
||||||
|
'Use XHPAST to run libphutil-specific rules on a PHP library. This '.
|
||||||
|
'linter is intended for use in Phabricator libraries and extensions.');
|
||||||
|
}
|
||||||
|
|
||||||
public function setDeprecatedFunctions($map) {
|
public function setDeprecatedFunctions($map) {
|
||||||
$this->deprecatedFunctions = $map;
|
$this->deprecatedFunctions = $map;
|
||||||
return $this;
|
return $this;
|
||||||
|
|
|
@ -47,6 +47,18 @@ final class ArcanistXHPASTLinter extends ArcanistBaseXHPASTLinter {
|
||||||
private $naminghook;
|
private $naminghook;
|
||||||
private $switchhook;
|
private $switchhook;
|
||||||
|
|
||||||
|
public function getInfoName() {
|
||||||
|
return 'XHPAST Lint';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfoDescription() {
|
||||||
|
return pht(
|
||||||
|
'Use XHPAST to enforce Phabricator coding conventions on PHP source '.
|
||||||
|
'files. This linter is intended for use in Phabricator libraries and '.
|
||||||
|
'extensions, and enforces some Phabricator-specific style rules. It '.
|
||||||
|
'may not work well for general PHP source.');
|
||||||
|
}
|
||||||
|
|
||||||
public function getLintNameMap() {
|
public function getLintNameMap() {
|
||||||
return array(
|
return array(
|
||||||
self::LINT_PHP_SYNTAX_ERROR => 'PHP Syntax Error!',
|
self::LINT_PHP_SYNTAX_ERROR => 'PHP Syntax Error!',
|
||||||
|
|
Loading…
Reference in a new issue