From 7bbafe91d24a1e9b834f7c94c05275b775425996 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 12 May 2014 05:06:04 -0700 Subject: [PATCH] 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 --- .arclint | 4 ++++ src/lint/linter/ArcanistPhutilLibraryLinter.php | 16 ++++++++++++++-- src/lint/linter/ArcanistPhutilXHPASTLinter.php | 10 ++++++++++ src/lint/linter/ArcanistXHPASTLinter.php | 12 ++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/.arclint b/.arclint index 12bc5504..f4552653 100644 --- a/.arclint +++ b/.arclint @@ -20,6 +20,10 @@ "type": "phutil-xhpast", "include": "(\\.php$)" }, + "phutil-library": { + "type": "phutil-library", + "include": "(\\.php$)" + }, "text": { "type": "text" }, diff --git a/src/lint/linter/ArcanistPhutilLibraryLinter.php b/src/lint/linter/ArcanistPhutilLibraryLinter.php index f67b8fe4..bf94344f 100644 --- a/src/lint/linter/ArcanistPhutilLibraryLinter.php +++ b/src/lint/linter/ArcanistPhutilLibraryLinter.php @@ -7,8 +7,6 @@ * # 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 * defined in that file. - * - * @group linter */ final class ArcanistPhutilLibraryLinter extends ArcanistLinter { @@ -16,6 +14,20 @@ final class ArcanistPhutilLibraryLinter extends ArcanistLinter { const LINT_DUPLICATE_SYMBOL = 2; 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() { return array( self::LINT_UNKNOWN_SYMBOL => 'Unknown Symbol', diff --git a/src/lint/linter/ArcanistPhutilXHPASTLinter.php b/src/lint/linter/ArcanistPhutilXHPASTLinter.php index 8357134d..c14ec7e8 100644 --- a/src/lint/linter/ArcanistPhutilXHPASTLinter.php +++ b/src/lint/linter/ArcanistPhutilXHPASTLinter.php @@ -10,6 +10,16 @@ final class ArcanistPhutilXHPASTLinter extends ArcanistBaseXHPASTLinter { private $dynamicStringFunctions = 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) { $this->deprecatedFunctions = $map; return $this; diff --git a/src/lint/linter/ArcanistXHPASTLinter.php b/src/lint/linter/ArcanistXHPASTLinter.php index 8234d9df..51fd79db 100644 --- a/src/lint/linter/ArcanistXHPASTLinter.php +++ b/src/lint/linter/ArcanistXHPASTLinter.php @@ -47,6 +47,18 @@ final class ArcanistXHPASTLinter extends ArcanistBaseXHPASTLinter { private $naminghook; 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() { return array( self::LINT_PHP_SYNTAX_ERROR => 'PHP Syntax Error!',