mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-29 02:02:40 +01:00
Allow ArcanistPhutilXHPASTLinter
to be configured from .arclint
.
Summary: Currently, `PhabricatorLintEngine` configures the `ArcanistPhutilXHPASTLinter` linter. In order to use `.arclint` instead, we need to expose the `ArcanistPhutilXHPASTLinter` configuration to the `.arclint` format. Test Plan: See D9064. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley, Korvin Maniphest Tasks: T2039 Differential Revision: https://secure.phabricator.com/D9066
This commit is contained in:
parent
c4ac8a1aea
commit
1b820dbb14
1 changed files with 40 additions and 0 deletions
|
@ -59,6 +59,46 @@ final class ArcanistPhutilXHPASTLinter extends ArcanistBaseXHPASTLinter {
|
|||
return $version;
|
||||
}
|
||||
|
||||
public function getLinterConfigurationOptions() {
|
||||
$options = array(
|
||||
'phutil-xhpast.deprecated.functions' => array(
|
||||
'type' => 'optional map<string, string>',
|
||||
'help' => pht(
|
||||
'Functions which should should be considered deprecated.'),
|
||||
),
|
||||
'phutil-xhpast.dynamic-string.functions' => array(
|
||||
'type' => 'optional map<string, string>',
|
||||
'help' => pht(
|
||||
'Functions which should should not be used because they represent '.
|
||||
'the unsafe usage of dynamic strings.'),
|
||||
),
|
||||
'phutil-xhpast.dynamic-string.classes' => array(
|
||||
'type' => 'optional map<string, string>',
|
||||
'help' => pht(
|
||||
'Classes which should should not be used because they represent the '.
|
||||
'unsafe usage of dynamic strings.'),
|
||||
),
|
||||
);
|
||||
|
||||
return $options + parent::getLinterConfigurationOptions();
|
||||
}
|
||||
|
||||
public function setLinterConfigurationValue($key, $value) {
|
||||
switch ($key) {
|
||||
case 'phutil-xhpast.deprecated.functions':
|
||||
$this->setDeprecatedFunctions($value);
|
||||
return;
|
||||
case 'phutil-xhpast.dynamic-string.functions':
|
||||
$this->setDynamicStringFunctions($value);
|
||||
return;
|
||||
case 'phutil-xhpast.dynamic-string.classes':
|
||||
$this->setDynamicStringClasses($value);
|
||||
return;
|
||||
}
|
||||
|
||||
return parent::setLinterConfigurationValue($key, $value);
|
||||
}
|
||||
|
||||
protected function resolveFuture($path, Future $future) {
|
||||
$tree = $this->getXHPASTLinter()->getXHPASTTreeForPath($path);
|
||||
if (!$tree) {
|
||||
|
|
Loading…
Reference in a new issue