2011-01-10 00:22:25 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
2012-05-30 23:22:59 +02:00
|
|
|
* This file is automatically generated. Use 'arc liberate' to rebuild it.
|
2014-07-17 23:34:59 +02:00
|
|
|
*
|
2011-01-10 00:22:25 +01:00
|
|
|
* @generated
|
2012-05-30 23:22:59 +02:00
|
|
|
* @phutil-library-version 2
|
2011-01-10 00:22:25 +01:00
|
|
|
*/
|
|
|
|
phutil_register_library_map(array(
|
2012-05-30 23:22:59 +02:00
|
|
|
'__library_version__' => 2,
|
2014-07-17 23:34:59 +02:00
|
|
|
'class' => array(
|
2020-02-12 23:24:11 +01:00
|
|
|
'AASTNode' => 'parser/aast/api/AASTNode.php',
|
|
|
|
'AASTNodeList' => 'parser/aast/api/AASTNodeList.php',
|
|
|
|
'AASTToken' => 'parser/aast/api/AASTToken.php',
|
|
|
|
'AASTTree' => 'parser/aast/api/AASTTree.php',
|
|
|
|
'AbstractDirectedGraph' => 'utils/AbstractDirectedGraph.php',
|
|
|
|
'AbstractDirectedGraphTestCase' => 'utils/__tests__/AbstractDirectedGraphTestCase.php',
|
2015-11-23 22:19:35 +01:00
|
|
|
'ArcanistAbstractMethodBodyXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistAbstractMethodBodyXHPASTLinterRule.php',
|
|
|
|
'ArcanistAbstractMethodBodyXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistAbstractMethodBodyXHPASTLinterRuleTestCase.php',
|
2015-11-23 22:18:06 +01:00
|
|
|
'ArcanistAbstractPrivateMethodXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistAbstractPrivateMethodXHPASTLinterRule.php',
|
|
|
|
'ArcanistAbstractPrivateMethodXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistAbstractPrivateMethodXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistAlias' => 'toolset/ArcanistAlias.php',
|
|
|
|
'ArcanistAliasEffect' => 'toolset/ArcanistAliasEffect.php',
|
|
|
|
'ArcanistAliasEngine' => 'toolset/ArcanistAliasEngine.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistAliasFunctionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistAliasFunctionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistAliasFunctionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistAliasFunctionXHPASTLinterRuleTestCase.php',
|
2020-02-14 00:21:29 +01:00
|
|
|
'ArcanistAliasWorkflow' => 'toolset/workflow/ArcanistAliasWorkflow.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistAliasesConfigOption' => 'config/option/ArcanistAliasesConfigOption.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistAmendWorkflow' => 'workflow/ArcanistAmendWorkflow.php',
|
2012-07-21 11:09:21 +02:00
|
|
|
'ArcanistAnoidWorkflow' => 'workflow/ArcanistAnoidWorkflow.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistArcConfigurationEngineExtension' => 'config/arc/ArcanistArcConfigurationEngineExtension.php',
|
|
|
|
'ArcanistArcToolset' => 'toolset/ArcanistArcToolset.php',
|
2020-02-13 23:30:22 +01:00
|
|
|
'ArcanistArcWorkflow' => 'toolset/workflow/ArcanistArcWorkflow.php',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistArrayCombineXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistArrayCombineXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArrayCombineXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistArrayCombineXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistArrayIndexSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistArrayIndexSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArrayIndexSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistArrayIndexSpacingXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistArraySeparatorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistArraySeparatorXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArraySeparatorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistArraySeparatorXHPASTLinterRuleTestCase.php',
|
2015-08-10 22:58:28 +02:00
|
|
|
'ArcanistArrayValueXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistArrayValueXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArrayValueXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistArrayValueXHPASTLinterRuleTestCase.php',
|
Add a DSL for selecting base commits
Summary:
New optional mode. If you set 'base' in local, project or global config or pass '--base' to 'arc diff' or 'arc which', it switches to DSL mode.
In DSL mode, lists of rules from args, local, project and global config are resolved, in that order. Rules can manipulate the rule machine or resolve into actual commits. Provides support for some 'arc' rules (mostly machine manipulation) and 'git' rules (symbolic ref and merge-base).
Test Plan:
Ran unit tests. Also:
```$ arc which --show-base --base 'arc:prompt'
Against which commit? HEAD
HEAD
$ arc which --show-base --base 'git:HEAD'
HEAD
$ arc which --show-base --base 'git:fake'
Usage Exception: None of the rules in your 'base' configuration matched a valid commit. Adjust rules or specify which commit you want to use explicitly.
$ arc which --show-base --base 'git:origin/master'
origin/master
$ arc which --show-base --base 'git:upstream'
Usage Exception: None of the rules in your 'base' configuration matched a valid commit. Adjust rules or specify which commit you want to use explicitly.
$ arc which --show-base --base 'literal:derp'
derp
$ arc which --show-base --base 'arc:halt'
Usage Exception: None of the rules in your 'base' configuration matched a valid commit. Adjust rules or specify which commit you want to use explicitly.
$ arc set-config --local base git:origin/master
Set key 'base' = 'git:origin/master' in local config.
$ arc which --show-base
origin/master
$ arc which --show-base --base 'git:HEAD^'
HEAD^
$ arc which --show-base --base 'arc:yield, git:HEAD^'
origin/master
$ arc which --show-base --base 'arc:global, git:HEAD^'
HEAD^
$ arc which --show-base --base 'arc:global, git:merge-base(origin/master)'
3f4f8992fba8d1f142974da36a82bae900e247c0```
Reviewers: dschleimer, vrana
Reviewed By: dschleimer
CC: aran
Maniphest Tasks: T1233
Differential Revision: https://secure.phabricator.com/D2748
2012-06-15 23:01:28 +02:00
|
|
|
'ArcanistBaseCommitParser' => 'parser/ArcanistBaseCommitParser.php',
|
|
|
|
'ArcanistBaseCommitParserTestCase' => 'parser/__tests__/ArcanistBaseCommitParserTestCase.php',
|
2013-01-29 07:03:03 +01:00
|
|
|
'ArcanistBaseXHPASTLinter' => 'lint/linter/ArcanistBaseXHPASTLinter.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistBinaryExpressionSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistBinaryExpressionSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistBinaryExpressionSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistBinaryExpressionSpacingXHPASTLinterRuleTestCase.php',
|
2015-12-02 23:47:27 +01:00
|
|
|
'ArcanistBinaryNumericScalarCasingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistBinaryNumericScalarCasingXHPASTLinterRule.php',
|
|
|
|
'ArcanistBinaryNumericScalarCasingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistBinaryNumericScalarCasingXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistBlacklistedFunctionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistBlacklistedFunctionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistBlacklistedFunctionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistBlacklistedFunctionXHPASTLinterRuleTestCase.php',
|
2016-06-09 19:48:32 +02:00
|
|
|
'ArcanistBlindlyTrustHTTPEngineExtension' => 'configuration/ArcanistBlindlyTrustHTTPEngineExtension.php',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistBookmarksWorkflow' => 'workflow/ArcanistBookmarksWorkflow.php',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistBoolConfigOption' => 'config/option/ArcanistBoolConfigOption.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistBraceFormattingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistBraceFormattingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistBraceFormattingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistBraceFormattingXHPASTLinterRuleTestCase.php',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistBranchesWorkflow' => 'workflow/ArcanistBranchesWorkflow.php',
|
2020-04-10 15:36:47 +02:00
|
|
|
'ArcanistBrowseCommitHardpointQuery' => 'browse/query/ArcanistBrowseCommitHardpointQuery.php',
|
|
|
|
'ArcanistBrowseCommitURIHardpointQuery' => 'browse/query/ArcanistBrowseCommitURIHardpointQuery.php',
|
|
|
|
'ArcanistBrowseObjectNameURIHardpointQuery' => 'browse/query/ArcanistBrowseObjectNameURIHardpointQuery.php',
|
|
|
|
'ArcanistBrowsePathURIHardpointQuery' => 'browse/query/ArcanistBrowsePathURIHardpointQuery.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistBrowseRef' => 'browse/ref/ArcanistBrowseRef.php',
|
2020-04-10 15:36:47 +02:00
|
|
|
'ArcanistBrowseRefInspector' => 'inspector/ArcanistBrowseRefInspector.php',
|
|
|
|
'ArcanistBrowseRevisionURIHardpointQuery' => 'browse/query/ArcanistBrowseRevisionURIHardpointQuery.php',
|
|
|
|
'ArcanistBrowseURIHardpointQuery' => 'browse/query/ArcanistBrowseURIHardpointQuery.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistBrowseURIRef' => 'browse/ref/ArcanistBrowseURIRef.php',
|
|
|
|
'ArcanistBrowseWorkflow' => 'browse/workflow/ArcanistBrowseWorkflow.php',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistBuildBuildplanHardpointQuery' => 'ref/build/ArcanistBuildBuildplanHardpointQuery.php',
|
|
|
|
'ArcanistBuildPlanRef' => 'ref/buildplan/ArcanistBuildPlanRef.php',
|
|
|
|
'ArcanistBuildPlanSymbolRef' => 'ref/buildplan/ArcanistBuildPlanSymbolRef.php',
|
|
|
|
'ArcanistBuildRef' => 'ref/build/ArcanistBuildRef.php',
|
|
|
|
'ArcanistBuildSymbolRef' => 'ref/build/ArcanistBuildSymbolRef.php',
|
|
|
|
'ArcanistBuildableBuildsHardpointQuery' => 'ref/buildable/ArcanistBuildableBuildsHardpointQuery.php',
|
|
|
|
'ArcanistBuildableRef' => 'ref/buildable/ArcanistBuildableRef.php',
|
|
|
|
'ArcanistBuildableSymbolRef' => 'ref/buildable/ArcanistBuildableSymbolRef.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistBundle' => 'parser/ArcanistBundle.php',
|
|
|
|
'ArcanistBundleTestCase' => 'parser/__tests__/ArcanistBundleTestCase.php',
|
2013-08-02 14:13:23 +02:00
|
|
|
'ArcanistCSSLintLinter' => 'lint/linter/ArcanistCSSLintLinter.php',
|
2013-08-23 20:52:44 +02:00
|
|
|
'ArcanistCSSLintLinterTestCase' => 'lint/linter/__tests__/ArcanistCSSLintLinterTestCase.php',
|
Add C# linter for Arcanist.
Summary:
Completes T3859. This implements a C# linter for Arcanist, which in turn uses `cslint` from `cstools` to actually perform the linting. `cslint` internally uses StyleCop in addition to it's own lint rules.
Unlike other linters, C# is a compiled language, which means that the StyleCop integration must be aware of the full project. To this end, there is the `discovery` setting in `.arclint`. This allows users to define mappings between C# files and the projects they belong to. Here is an configuration for `.arclint` (and is the one we use):
```
{
"linters": {
"csharp": {
"type": "csharp",
"include": "(\\.cs$)",
"binary": "cstools/cslint/bin/Debug/cslint.exe",
"discovery": {
"([^/]+)/(.*?)\\.cs": [
"$1/$1.Linux.csproj"
],
"([^\\\\]+)\\\\(.*?)\\.cs": [
"$1\\$1.Windows.csproj"
]
}
}
}
}
```
Test Plan: Tested under both Linux and Windows. Changed some files, ran `arc lint` and it all worked correctly.
Reviewers: epriestley
Reviewed By: epriestley
CC: Korvin, aran, jamesr
Maniphest Tasks: T3859
Differential Revision: https://secure.phabricator.com/D7170
2013-10-01 20:37:26 +02:00
|
|
|
'ArcanistCSharpLinter' => 'lint/linter/ArcanistCSharpLinter.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistCallConduitWorkflow' => 'workflow/ArcanistCallConduitWorkflow.php',
|
2015-08-05 22:57:46 +02:00
|
|
|
'ArcanistCallParenthesesXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistCallParenthesesXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCallParenthesesXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistCallParenthesesXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistCallTimePassByReferenceXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistCallTimePassByReferenceXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCallTimePassByReferenceXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistCallTimePassByReferenceXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistCapabilityNotSupportedException' => 'workflow/exception/ArcanistCapabilityNotSupportedException.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistCastSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistCastSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCastSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistCastSpacingXHPASTLinterRuleTestCase.php',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistCheckstyleXMLLintRenderer' => 'lint/renderer/ArcanistCheckstyleXMLLintRenderer.php',
|
2014-05-19 01:57:08 +02:00
|
|
|
'ArcanistChmodLinter' => 'lint/linter/ArcanistChmodLinter.php',
|
2015-01-14 20:58:10 +01:00
|
|
|
'ArcanistChmodLinterTestCase' => 'lint/linter/__tests__/ArcanistChmodLinterTestCase.php',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistClassExtendsObjectXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistClassExtendsObjectXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistClassExtendsObjectXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistClassExtendsObjectXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistClassFilenameMismatchXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistClassFilenameMismatchXHPASTLinterRule.php',
|
2015-11-23 22:18:38 +01:00
|
|
|
'ArcanistClassMustBeDeclaredAbstractXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistClassMustBeDeclaredAbstractXHPASTLinterRule.php',
|
|
|
|
'ArcanistClassMustBeDeclaredAbstractXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistClassMustBeDeclaredAbstractXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistClassNameLiteralXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistClassNameLiteralXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistClassNameLiteralXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistClassNameLiteralXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistCloseRevisionWorkflow' => 'workflow/ArcanistCloseRevisionWorkflow.php',
|
2014-05-15 18:18:24 +02:00
|
|
|
'ArcanistClosureLinter' => 'lint/linter/ArcanistClosureLinter.php',
|
|
|
|
'ArcanistClosureLinterTestCase' => 'lint/linter/__tests__/ArcanistClosureLinterTestCase.php',
|
2014-05-17 06:58:01 +02:00
|
|
|
'ArcanistCoffeeLintLinter' => 'lint/linter/ArcanistCoffeeLintLinter.php',
|
|
|
|
'ArcanistCoffeeLintLinterTestCase' => 'lint/linter/__tests__/ArcanistCoffeeLintLinterTestCase.php',
|
2020-02-17 18:32:30 +01:00
|
|
|
'ArcanistCommand' => 'toolset/command/ArcanistCommand.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistCommentRemover' => 'parser/ArcanistCommentRemover.php',
|
|
|
|
'ArcanistCommentRemoverTestCase' => 'parser/__tests__/ArcanistCommentRemoverTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistCommentSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistCommentSpacingXHPASTLinterRule.php',
|
|
|
|
'ArcanistCommentStyleXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistCommentStyleXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCommentStyleXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistCommentStyleXHPASTLinterRuleTestCase.php',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistCommitGraph' => 'repository/graph/ArcanistCommitGraph.php',
|
|
|
|
'ArcanistCommitGraphPartition' => 'repository/graph/ArcanistCommitGraphPartition.php',
|
|
|
|
'ArcanistCommitGraphPartitionQuery' => 'repository/graph/ArcanistCommitGraphPartitionQuery.php',
|
|
|
|
'ArcanistCommitGraphQuery' => 'repository/graph/query/ArcanistCommitGraphQuery.php',
|
|
|
|
'ArcanistCommitGraphSet' => 'repository/graph/ArcanistCommitGraphSet.php',
|
|
|
|
'ArcanistCommitGraphSetQuery' => 'repository/graph/ArcanistCommitGraphSetQuery.php',
|
|
|
|
'ArcanistCommitGraphSetTreeView' => 'repository/graph/view/ArcanistCommitGraphSetTreeView.php',
|
|
|
|
'ArcanistCommitGraphSetView' => 'repository/graph/view/ArcanistCommitGraphSetView.php',
|
|
|
|
'ArcanistCommitGraphTestCase' => 'repository/graph/__tests__/ArcanistCommitGraphTestCase.php',
|
|
|
|
'ArcanistCommitNode' => 'repository/graph/ArcanistCommitNode.php',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistCommitRef' => 'ref/commit/ArcanistCommitRef.php',
|
|
|
|
'ArcanistCommitSymbolRef' => 'ref/commit/ArcanistCommitSymbolRef.php',
|
|
|
|
'ArcanistCommitSymbolRefInspector' => 'ref/commit/ArcanistCommitSymbolRefInspector.php',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistCommitUpstreamHardpointQuery' => 'query/ArcanistCommitUpstreamHardpointQuery.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistCommitWorkflow' => 'workflow/ArcanistCommitWorkflow.php',
|
2015-02-09 20:57:10 +01:00
|
|
|
'ArcanistCompilerLintRenderer' => 'lint/renderer/ArcanistCompilerLintRenderer.php',
|
2015-08-19 13:39:11 +02:00
|
|
|
'ArcanistComposerLinter' => 'lint/linter/ArcanistComposerLinter.php',
|
2015-02-09 20:57:17 +01:00
|
|
|
'ArcanistComprehensiveLintEngine' => 'lint/engine/ArcanistComprehensiveLintEngine.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistConcatenationOperatorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistConcatenationOperatorXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistConcatenationOperatorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistConcatenationOperatorXHPASTLinterRuleTestCase.php',
|
2020-07-01 15:12:09 +02:00
|
|
|
'ArcanistConduitAuthenticationException' => 'exception/ArcanistConduitAuthenticationException.php',
|
Implement Conduit login prompt behavior as a pure FutureProxy, not a Future-like object
Summary:
See PHI1802. Currently, we can't raise a "you must login" error in a generic way at the beginning of a workflow because we don't know if a workflow needs credentials or not.
For example, "arc help" does not need credentials but "arc diff" does.
Additionally, some actual Conduit calls do not need credentials ("conduit.ping", "conduit.getcapabilities") and others do.
Although I'd like to simplify this eventually and move away from anonymous/unauthenticated "arc", this isn't trivial today. It's also possible for third-party code to add authenticated calls to "arc help", etc., so even if we could execute these tests upfront it's not obvious we'd want to.
So, for now, we raise "you must login" at runtime, when we receive an authentication error from Conduit.
This got implemented for Toolsets in a well-intentioned but not-so-great way somewhere in wilds/experimental, with an "ArcanistConduitCall" that behaves a bit like a future but is not really a future. This implementation made more sense when ConduitEngine was serving as a future engine, and FutureProxy could not rewrite exceptions.
After the Toolsets code was first written, ConduitEngine has stopped serving as a future engine (this is now in "HardpointEngine"). Since HardpointEngine needs a real future, this "show the user a login message" code gets bypassed. This results in user-visible raw authentication exceptions on some workflows:
```
[2020-06-30 21:39:53] EXCEPTION: (ConduitClientException) ERR-INVALID-SESSION: Session key is not present. at [<arcanist>/src/conduit/ConduitFuture.php:76]
```
To fix this:
- Allow FutureProxy to rewrite exceptions (see D21383).
- Implement "ArcanistConduitCall" as a FutureProxy, not a future-like object.
- Collapse the mixed-mode future/not-quite-a-future APIs into a single "real future" API.
Test Plan:
- Created a paste with "echo hi | arc paste --".
- Uploaded a file with "arc upload".
- Called a raw method with "echo {} | arc call-conduit conduit.ping --".
- Invoked hardpoint behavior with "arc branches".
- Grepped for calls to either "resolveCall()" method, found none.
- Grepped for calls to "newCall()", found none.
- Grepped for "ArcanistConduitCall", found no references.
Then:
- Removed my "~/.arcrc", ran "arc land", got a sensible and human-readable (but currently ugly) exception instead of a raw authentication stack trace.
Differential Revision: https://secure.phabricator.com/D21384
2020-07-01 14:08:06 +02:00
|
|
|
'ArcanistConduitCallFuture' => 'conduit/ArcanistConduitCallFuture.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistConduitEngine' => 'conduit/ArcanistConduitEngine.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistConduitException' => 'conduit/ArcanistConduitException.php',
|
|
|
|
'ArcanistConfigOption' => 'config/option/ArcanistConfigOption.php',
|
2012-05-30 23:22:59 +02:00
|
|
|
'ArcanistConfiguration' => 'configuration/ArcanistConfiguration.php',
|
Lay groundwork for configuration-driven linters
Summary:
Ref T2039. That task has a bunch of discussion, but basically we do a poor job of serving the midrange of lint configuration right now.
If you have something simple, the default linters work.
If you have something complex, building your own engine lets you do whatever you want.
But many users want something in between, which isn't really well accommodated. The idea is to let you write a `.arclint` file, which looks something like this:
{
"linters" : {
"css" : {
"type" : "csslint",
"include" : "(\.css$)",
"exclude" : "(^externals/)",
"bin" : "/usr/local/bin/csslint"
},
"js" : {
"type" : "jshint",
"include" : "(\.js$)",
"exclude" : "(^externals/)",
"bin" : "support/bin/jshint",
"interpreter" : "/usr/local/bin/node"
}
}
}
...which will provide a bunch of common options around lint severity, interpreter and binary locaitons, included and excluded files, etc.
This implements some basics, and very rough support in the Filename linter.
Test Plan:
Generated a `.arclint` file and saw it apply filename lint correctly. Used `debug` mode and tried invalid regexps.
{
"debug" : true,
"linters" : {
"filename" : {
"type" : "filename",
"exclude" : ["@^externals/@"]
}
}
}
Next steps include:
- Provide an external linter archetype (T3186) and expose a common set of configuration here ("bin", "interpreter", "flags", "severity").
- Provide a `.arcunit` file which works similarly (it can probably be simpler).
Reviewers: btrahan, Firehed
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2039
Differential Revision: https://secure.phabricator.com/D6797
2013-08-23 01:02:16 +02:00
|
|
|
'ArcanistConfigurationDrivenLintEngine' => 'lint/engine/ArcanistConfigurationDrivenLintEngine.php',
|
2015-08-10 22:54:15 +02:00
|
|
|
'ArcanistConfigurationDrivenUnitTestEngine' => 'unit/engine/ArcanistConfigurationDrivenUnitTestEngine.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistConfigurationEngine' => 'config/ArcanistConfigurationEngine.php',
|
|
|
|
'ArcanistConfigurationEngineExtension' => 'config/ArcanistConfigurationEngineExtension.php',
|
2013-10-19 01:10:06 +02:00
|
|
|
'ArcanistConfigurationManager' => 'configuration/ArcanistConfigurationManager.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistConfigurationSource' => 'config/source/ArcanistConfigurationSource.php',
|
|
|
|
'ArcanistConfigurationSourceList' => 'config/ArcanistConfigurationSourceList.php',
|
|
|
|
'ArcanistConfigurationSourceValue' => 'config/ArcanistConfigurationSourceValue.php',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistConsoleLintRenderer' => 'lint/renderer/ArcanistConsoleLintRenderer.php',
|
2017-08-31 17:13:19 +02:00
|
|
|
'ArcanistConsoleLintRendererTestCase' => 'lint/renderer/__tests__/ArcanistConsoleLintRendererTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistConstructorParenthesesXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistConstructorParenthesesXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistConstructorParenthesesXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistConstructorParenthesesXHPASTLinterRuleTestCase.php',
|
2018-12-22 14:30:54 +01:00
|
|
|
'ArcanistContinueInsideSwitchXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistContinueInsideSwitchXHPASTLinterRule.php',
|
|
|
|
'ArcanistContinueInsideSwitchXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistContinueInsideSwitchXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistControlStatementSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistControlStatementSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistControlStatementSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistControlStatementSpacingXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistCoverWorkflow' => 'workflow/ArcanistCoverWorkflow.php',
|
2013-01-07 17:16:45 +01:00
|
|
|
'ArcanistCppcheckLinter' => 'lint/linter/ArcanistCppcheckLinter.php',
|
2014-05-12 13:30:36 +02:00
|
|
|
'ArcanistCppcheckLinterTestCase' => 'lint/linter/__tests__/ArcanistCppcheckLinterTestCase.php',
|
2013-01-05 03:59:38 +01:00
|
|
|
'ArcanistCpplintLinter' => 'lint/linter/ArcanistCpplintLinter.php',
|
|
|
|
'ArcanistCpplintLinterTestCase' => 'lint/linter/__tests__/ArcanistCpplintLinterTestCase.php',
|
2015-12-08 20:56:48 +01:00
|
|
|
'ArcanistCurlyBraceArrayIndexXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistCurlyBraceArrayIndexXHPASTLinterRule.php',
|
|
|
|
'ArcanistCurlyBraceArrayIndexXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistCurlyBraceArrayIndexXHPASTLinterRuleTestCase.php',
|
2015-07-22 22:43:35 +02:00
|
|
|
'ArcanistDeclarationParenthesesXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDeclarationParenthesesXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDeclarationParenthesesXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDeclarationParenthesesXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDefaultParametersXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDefaultParametersXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDefaultParametersXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDefaultParametersXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistDefaultsConfigurationSource' => 'config/source/ArcanistDefaultsConfigurationSource.php',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistDeprecationXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDeprecationXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDeprecationXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDeprecationXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistDictionaryConfigurationSource' => 'config/source/ArcanistDictionaryConfigurationSource.php',
|
2018-05-10 18:43:16 +02:00
|
|
|
'ArcanistDiffByteSizeException' => 'exception/ArcanistDiffByteSizeException.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistDiffChange' => 'parser/diff/ArcanistDiffChange.php',
|
|
|
|
'ArcanistDiffChangeType' => 'parser/diff/ArcanistDiffChangeType.php',
|
|
|
|
'ArcanistDiffHunk' => 'parser/diff/ArcanistDiffHunk.php',
|
|
|
|
'ArcanistDiffParser' => 'parser/ArcanistDiffParser.php',
|
|
|
|
'ArcanistDiffParserTestCase' => 'parser/__tests__/ArcanistDiffParserTestCase.php',
|
2012-05-30 23:22:59 +02:00
|
|
|
'ArcanistDiffUtils' => 'difference/ArcanistDiffUtils.php',
|
|
|
|
'ArcanistDiffUtilsTestCase' => 'difference/__tests__/ArcanistDiffUtilsTestCase.php',
|
2020-04-28 20:10:33 +02:00
|
|
|
'ArcanistDiffVectorNode' => 'difference/ArcanistDiffVectorNode.php',
|
|
|
|
'ArcanistDiffVectorTree' => 'difference/ArcanistDiffVectorTree.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistDiffWorkflow' => 'workflow/ArcanistDiffWorkflow.php',
|
|
|
|
'ArcanistDifferentialCommitMessage' => 'differential/ArcanistDifferentialCommitMessage.php',
|
|
|
|
'ArcanistDifferentialCommitMessageParserException' => 'differential/ArcanistDifferentialCommitMessageParserException.php',
|
2013-10-17 23:59:04 +02:00
|
|
|
'ArcanistDifferentialDependencyGraph' => 'differential/ArcanistDifferentialDependencyGraph.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistDifferentialRevisionHash' => 'differential/constants/ArcanistDifferentialRevisionHash.php',
|
|
|
|
'ArcanistDifferentialRevisionStatus' => 'differential/constants/ArcanistDifferentialRevisionStatus.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDoubleQuoteXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDoubleQuoteXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDoubleQuoteXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDoubleQuoteXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistDownloadWorkflow' => 'workflow/ArcanistDownloadWorkflow.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDuplicateKeysInArrayXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDuplicateKeysInArrayXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDuplicateKeysInArrayXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDuplicateKeysInArrayXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDuplicateSwitchCaseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDuplicateSwitchCaseXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDuplicateSwitchCaseXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDuplicateSwitchCaseXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDynamicDefineXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDynamicDefineXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDynamicDefineXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDynamicDefineXHPASTLinterRuleTestCase.php',
|
2021-12-09 22:51:41 +01:00
|
|
|
'ArcanistEachUseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistEachUseXHPASTLinterRule.php',
|
|
|
|
'ArcanistEachUseXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistEachUseXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistElseIfUsageXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistElseIfUsageXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistElseIfUsageXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistElseIfUsageXHPASTLinterRuleTestCase.php',
|
2015-09-01 11:20:11 +02:00
|
|
|
'ArcanistEmptyFileXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistEmptyFileXHPASTLinterRule.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistEmptyStatementXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistEmptyStatementXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistEmptyStatementXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistEmptyStatementXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistEventType' => 'events/constant/ArcanistEventType.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistExitExpressionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistExitExpressionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistExitExpressionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistExitExpressionXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistExportWorkflow' => 'workflow/ArcanistExportWorkflow.php',
|
2013-08-23 20:52:44 +02:00
|
|
|
'ArcanistExternalLinter' => 'lint/linter/ArcanistExternalLinter.php',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistExternalLinterTestCase' => 'lint/linter/__tests__/ArcanistExternalLinterTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistExtractUseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistExtractUseXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistExtractUseXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistExtractUseXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistFileConfigurationSource' => 'config/source/ArcanistFileConfigurationSource.php',
|
2015-05-27 19:25:53 +02:00
|
|
|
'ArcanistFileDataRef' => 'upload/ArcanistFileDataRef.php',
|
2020-04-12 23:45:21 +02:00
|
|
|
'ArcanistFileRef' => 'ref/file/ArcanistFileRef.php',
|
|
|
|
'ArcanistFileSymbolRef' => 'ref/file/ArcanistFileSymbolRef.php',
|
2015-05-27 19:25:53 +02:00
|
|
|
'ArcanistFileUploader' => 'upload/ArcanistFileUploader.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistFilenameLinter' => 'lint/linter/ArcanistFilenameLinter.php',
|
2015-01-12 20:42:09 +01:00
|
|
|
'ArcanistFilenameLinterTestCase' => 'lint/linter/__tests__/ArcanistFilenameLinterTestCase.php',
|
2020-04-08 16:18:46 +02:00
|
|
|
'ArcanistFilesystemAPI' => 'repository/api/ArcanistFilesystemAPI.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistFilesystemConfigurationSource' => 'config/source/ArcanistFilesystemConfigurationSource.php',
|
2020-04-08 16:18:46 +02:00
|
|
|
'ArcanistFilesystemWorkingCopy' => 'workingcopy/ArcanistFilesystemWorkingCopy.php',
|
2012-12-22 00:27:52 +01:00
|
|
|
'ArcanistFlake8Linter' => 'lint/linter/ArcanistFlake8Linter.php',
|
|
|
|
'ArcanistFlake8LinterTestCase' => 'lint/linter/__tests__/ArcanistFlake8LinterTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistFormattedStringXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistFormattedStringXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistFormattedStringXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistFormattedStringXHPASTLinterRuleTestCase.php',
|
2015-11-29 21:32:43 +01:00
|
|
|
'ArcanistFunctionCallShouldBeTypeCastXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistFunctionCallShouldBeTypeCastXHPASTLinterRule.php',
|
|
|
|
'ArcanistFunctionCallShouldBeTypeCastXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistFunctionCallShouldBeTypeCastXHPASTLinterRuleTestCase.php',
|
2013-02-15 01:16:08 +01:00
|
|
|
'ArcanistFutureLinter' => 'lint/linter/ArcanistFutureLinter.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistGeneratedLinter' => 'lint/linter/ArcanistGeneratedLinter.php',
|
2015-01-14 21:03:14 +01:00
|
|
|
'ArcanistGeneratedLinterTestCase' => 'lint/linter/__tests__/ArcanistGeneratedLinterTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistGetConfigWorkflow' => 'workflow/ArcanistGetConfigWorkflow.php',
|
|
|
|
'ArcanistGitAPI' => 'repository/api/ArcanistGitAPI.php',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistGitCommitGraphQuery' => 'repository/graph/query/ArcanistGitCommitGraphQuery.php',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistGitCommitMessageHardpointQuery' => 'query/ArcanistGitCommitMessageHardpointQuery.php',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistGitCommitSymbolCommitHardpointQuery' => 'ref/commit/ArcanistGitCommitSymbolCommitHardpointQuery.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistGitLandEngine' => 'land/engine/ArcanistGitLandEngine.php',
|
2020-06-05 02:27:29 +02:00
|
|
|
'ArcanistGitLocalState' => 'repository/state/ArcanistGitLocalState.php',
|
2020-06-07 16:49:30 +02:00
|
|
|
'ArcanistGitRawCommit' => 'repository/raw/ArcanistGitRawCommit.php',
|
|
|
|
'ArcanistGitRawCommitTestCase' => 'repository/raw/__tests__/ArcanistGitRawCommitTestCase.php',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistGitRepositoryMarkerQuery' => 'repository/marker/ArcanistGitRepositoryMarkerQuery.php',
|
2020-06-30 21:02:37 +02:00
|
|
|
'ArcanistGitRepositoryRemoteQuery' => 'repository/remote/ArcanistGitRepositoryRemoteQuery.php',
|
2015-10-28 19:30:57 +01:00
|
|
|
'ArcanistGitUpstreamPath' => 'repository/api/ArcanistGitUpstreamPath.php',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistGitWorkEngine' => 'work/ArcanistGitWorkEngine.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistGitWorkingCopy' => 'workingcopy/ArcanistGitWorkingCopy.php',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistGitWorkingCopyRevisionHardpointQuery' => 'query/ArcanistGitWorkingCopyRevisionHardpointQuery.php',
|
2015-08-13 23:37:48 +02:00
|
|
|
'ArcanistGlobalVariableXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistGlobalVariableXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistGlobalVariableXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistGlobalVariableXHPASTLinterRuleTestCase.php',
|
2014-05-23 16:59:57 +02:00
|
|
|
'ArcanistGoLintLinter' => 'lint/linter/ArcanistGoLintLinter.php',
|
|
|
|
'ArcanistGoLintLinterTestCase' => 'lint/linter/__tests__/ArcanistGoLintLinterTestCase.php',
|
2015-01-04 20:46:13 +01:00
|
|
|
'ArcanistGoTestResultParser' => 'unit/parser/ArcanistGoTestResultParser.php',
|
|
|
|
'ArcanistGoTestResultParserTestCase' => 'unit/parser/__tests__/ArcanistGoTestResultParserTestCase.php',
|
2020-06-15 16:58:08 +02:00
|
|
|
'ArcanistGridCell' => 'console/grid/ArcanistGridCell.php',
|
|
|
|
'ArcanistGridColumn' => 'console/grid/ArcanistGridColumn.php',
|
|
|
|
'ArcanistGridRow' => 'console/grid/ArcanistGridRow.php',
|
|
|
|
'ArcanistGridView' => 'console/grid/ArcanistGridView.php',
|
2014-08-13 04:49:02 +02:00
|
|
|
'ArcanistHLintLinter' => 'lint/linter/ArcanistHLintLinter.php',
|
|
|
|
'ArcanistHLintLinterTestCase' => 'lint/linter/__tests__/ArcanistHLintLinterTestCase.php',
|
2020-04-08 17:38:52 +02:00
|
|
|
'ArcanistHardpoint' => 'hardpoint/ArcanistHardpoint.php',
|
|
|
|
'ArcanistHardpointEngine' => 'hardpoint/ArcanistHardpointEngine.php',
|
|
|
|
'ArcanistHardpointFutureList' => 'hardpoint/ArcanistHardpointFutureList.php',
|
|
|
|
'ArcanistHardpointList' => 'hardpoint/ArcanistHardpointList.php',
|
|
|
|
'ArcanistHardpointObject' => 'hardpoint/ArcanistHardpointObject.php',
|
|
|
|
'ArcanistHardpointQuery' => 'hardpoint/ArcanistHardpointQuery.php',
|
|
|
|
'ArcanistHardpointRequest' => 'hardpoint/ArcanistHardpointRequest.php',
|
|
|
|
'ArcanistHardpointRequestList' => 'hardpoint/ArcanistHardpointRequestList.php',
|
|
|
|
'ArcanistHardpointTask' => 'hardpoint/ArcanistHardpointTask.php',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistHardpointTaskResult' => 'hardpoint/ArcanistHardpointTaskResult.php',
|
2020-02-13 23:30:22 +01:00
|
|
|
'ArcanistHelpWorkflow' => 'toolset/workflow/ArcanistHelpWorkflow.php',
|
2015-12-01 21:41:37 +01:00
|
|
|
'ArcanistHexadecimalNumericScalarCasingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistHexadecimalNumericScalarCasingXHPASTLinterRule.php',
|
|
|
|
'ArcanistHexadecimalNumericScalarCasingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistHexadecimalNumericScalarCasingXHPASTLinterRuleTestCase.php',
|
2012-06-08 03:23:57 +02:00
|
|
|
'ArcanistHgClientChannel' => 'hgdaemon/ArcanistHgClientChannel.php',
|
|
|
|
'ArcanistHgProxyClient' => 'hgdaemon/ArcanistHgProxyClient.php',
|
|
|
|
'ArcanistHgProxyServer' => 'hgdaemon/ArcanistHgProxyServer.php',
|
|
|
|
'ArcanistHgServerChannel' => 'hgdaemon/ArcanistHgServerChannel.php',
|
2021-11-22 14:19:19 +01:00
|
|
|
'ArcanistHostMemorySnapshot' => 'filesystem/memory/ArcanistHostMemorySnapshot.php',
|
|
|
|
'ArcanistHostMemorySnapshotTestCase' => 'filesystem/memory/__tests__/ArcanistHostMemorySnapshotTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistImplicitConstructorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistImplicitConstructorXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistImplicitConstructorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistImplicitConstructorXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistImplicitFallthroughXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistImplicitFallthroughXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistImplicitFallthroughXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistImplicitFallthroughXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistImplicitVisibilityXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistImplicitVisibilityXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistImplicitVisibilityXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistImplicitVisibilityXHPASTLinterRuleTestCase.php',
|
2019-10-17 17:27:29 +02:00
|
|
|
'ArcanistImplodeArgumentOrderXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistImplodeArgumentOrderXHPASTLinterRule.php',
|
|
|
|
'ArcanistImplodeArgumentOrderXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistImplodeArgumentOrderXHPASTLinterRuleTestCase.php',
|
2015-08-13 23:41:41 +02:00
|
|
|
'ArcanistInlineHTMLXHPASTLinterRule' => 'lint/linter/ArcanistInlineHTMLXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInlineHTMLXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInlineHTMLXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInnerFunctionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInnerFunctionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInnerFunctionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInnerFunctionXHPASTLinterRuleTestCase.php',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistInspectWorkflow' => 'workflow/ArcanistInspectWorkflow.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistInstallCertificateWorkflow' => 'workflow/ArcanistInstallCertificateWorkflow.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInstanceOfOperatorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInstanceOfOperatorXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInstanceofOperatorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInstanceofOperatorXHPASTLinterRuleTestCase.php',
|
2015-11-25 21:21:29 +01:00
|
|
|
'ArcanistInterfaceAbstractMethodXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInterfaceAbstractMethodXHPASTLinterRule.php',
|
|
|
|
'ArcanistInterfaceAbstractMethodXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInterfaceAbstractMethodXHPASTLinterRuleTestCase.php',
|
2015-11-25 21:12:00 +01:00
|
|
|
'ArcanistInterfaceMethodBodyXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInterfaceMethodBodyXHPASTLinterRule.php',
|
|
|
|
'ArcanistInterfaceMethodBodyXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInterfaceMethodBodyXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInvalidDefaultParameterXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInvalidDefaultParameterXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInvalidDefaultParameterXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInvalidDefaultParameterXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInvalidModifiersXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInvalidModifiersXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInvalidModifiersXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInvalidModifiersXHPASTLinterRuleTestCase.php',
|
2015-12-02 22:11:22 +01:00
|
|
|
'ArcanistInvalidOctalNumericScalarXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistInvalidOctalNumericScalarXHPASTLinterRule.php',
|
|
|
|
'ArcanistInvalidOctalNumericScalarXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistInvalidOctalNumericScalarXHPASTLinterRuleTestCase.php',
|
2015-12-22 22:42:00 +01:00
|
|
|
'ArcanistIsAShouldBeInstanceOfXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistIsAShouldBeInstanceOfXHPASTLinterRule.php',
|
|
|
|
'ArcanistIsAShouldBeInstanceOfXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistIsAShouldBeInstanceOfXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistJSHintLinter' => 'lint/linter/ArcanistJSHintLinter.php',
|
2014-05-05 23:22:26 +02:00
|
|
|
'ArcanistJSHintLinterTestCase' => 'lint/linter/__tests__/ArcanistJSHintLinterTestCase.php',
|
2014-05-06 05:15:35 +02:00
|
|
|
'ArcanistJSONLintLinter' => 'lint/linter/ArcanistJSONLintLinter.php',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistJSONLintRenderer' => 'lint/renderer/ArcanistJSONLintRenderer.php',
|
2014-06-21 22:41:22 +02:00
|
|
|
'ArcanistJSONLinter' => 'lint/linter/ArcanistJSONLinter.php',
|
|
|
|
'ArcanistJSONLinterTestCase' => 'lint/linter/__tests__/ArcanistJSONLinterTestCase.php',
|
2014-06-16 22:40:36 +02:00
|
|
|
'ArcanistJscsLinter' => 'lint/linter/ArcanistJscsLinter.php',
|
|
|
|
'ArcanistJscsLinterTestCase' => 'lint/linter/__tests__/ArcanistJscsLinterTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistKeywordCasingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistKeywordCasingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistKeywordCasingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistKeywordCasingXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLambdaFuncFunctionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistLambdaFuncFunctionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLambdaFuncFunctionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistLambdaFuncFunctionXHPASTLinterRuleTestCase.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistLandCommit' => 'land/ArcanistLandCommit.php',
|
|
|
|
'ArcanistLandCommitSet' => 'land/ArcanistLandCommitSet.php',
|
|
|
|
'ArcanistLandEngine' => 'land/engine/ArcanistLandEngine.php',
|
2020-07-08 22:35:18 +02:00
|
|
|
'ArcanistLandPushFailureException' => 'land/exception/ArcanistLandPushFailureException.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistLandSymbol' => 'land/ArcanistLandSymbol.php',
|
|
|
|
'ArcanistLandTarget' => 'land/ArcanistLandTarget.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistLandWorkflow' => 'workflow/ArcanistLandWorkflow.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLanguageConstructParenthesesXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistLanguageConstructParenthesesXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLanguageConstructParenthesesXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistLanguageConstructParenthesesXHPASTLinterRuleTestCase.php',
|
2014-05-06 15:50:44 +02:00
|
|
|
'ArcanistLesscLinter' => 'lint/linter/ArcanistLesscLinter.php',
|
|
|
|
'ArcanistLesscLinterTestCase' => 'lint/linter/__tests__/ArcanistLesscLinterTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistLiberateWorkflow' => 'workflow/ArcanistLiberateWorkflow.php',
|
|
|
|
'ArcanistLintEngine' => 'lint/engine/ArcanistLintEngine.php',
|
|
|
|
'ArcanistLintMessage' => 'lint/ArcanistLintMessage.php',
|
2017-08-31 18:14:07 +02:00
|
|
|
'ArcanistLintMessageTestCase' => 'lint/__tests__/ArcanistLintMessageTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistLintPatcher' => 'lint/ArcanistLintPatcher.php',
|
2012-06-02 02:32:35 +02:00
|
|
|
'ArcanistLintRenderer' => 'lint/renderer/ArcanistLintRenderer.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistLintResult' => 'lint/ArcanistLintResult.php',
|
|
|
|
'ArcanistLintSeverity' => 'lint/ArcanistLintSeverity.php',
|
|
|
|
'ArcanistLintWorkflow' => 'workflow/ArcanistLintWorkflow.php',
|
|
|
|
'ArcanistLinter' => 'lint/linter/ArcanistLinter.php',
|
2015-11-12 21:07:52 +01:00
|
|
|
'ArcanistLinterStandard' => 'lint/linter/standards/ArcanistLinterStandard.php',
|
|
|
|
'ArcanistLinterStandardTestCase' => 'lint/linter/standards/__tests__/ArcanistLinterStandardTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistLinterTestCase' => 'lint/linter/__tests__/ArcanistLinterTestCase.php',
|
2014-05-11 22:42:56 +02:00
|
|
|
'ArcanistLintersWorkflow' => 'workflow/ArcanistLintersWorkflow.php',
|
2015-08-12 05:22:37 +02:00
|
|
|
'ArcanistListAssignmentXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistListAssignmentXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistListAssignmentXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistListAssignmentXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistListConfigOption' => 'config/option/ArcanistListConfigOption.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistListWorkflow' => 'workflow/ArcanistListWorkflow.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistLocalConfigurationSource' => 'config/source/ArcanistLocalConfigurationSource.php',
|
|
|
|
'ArcanistLogEngine' => 'log/ArcanistLogEngine.php',
|
|
|
|
'ArcanistLogMessage' => 'log/ArcanistLogMessage.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLogicalOperatorsXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistLogicalOperatorsXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLogicalOperatorsXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistLogicalOperatorsXHPASTLinterRuleTestCase.php',
|
2020-06-30 21:07:23 +02:00
|
|
|
'ArcanistLookWorkflow' => 'workflow/ArcanistLookWorkflow.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLowercaseFunctionsXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistLowercaseFunctionsXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLowercaseFunctionsXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistLowercaseFunctionsXHPASTLinterRuleTestCase.php',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistMarkerRef' => 'repository/marker/ArcanistMarkerRef.php',
|
|
|
|
'ArcanistMarkersWorkflow' => 'workflow/ArcanistMarkersWorkflow.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistMercurialAPI' => 'repository/api/ArcanistMercurialAPI.php',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistMercurialCommitGraphQuery' => 'repository/graph/query/ArcanistMercurialCommitGraphQuery.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistMercurialCommitMessageHardpointQuery' => 'query/ArcanistMercurialCommitMessageHardpointQuery.php',
|
2021-09-04 06:46:12 +02:00
|
|
|
'ArcanistMercurialCommitSymbolCommitHardpointQuery' => 'ref/commit/ArcanistMercurialCommitSymbolCommitHardpointQuery.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistMercurialLandEngine' => 'land/engine/ArcanistMercurialLandEngine.php',
|
|
|
|
'ArcanistMercurialLocalState' => 'repository/state/ArcanistMercurialLocalState.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistMercurialParser' => 'repository/parser/ArcanistMercurialParser.php',
|
|
|
|
'ArcanistMercurialParserTestCase' => 'repository/parser/__tests__/ArcanistMercurialParserTestCase.php',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistMercurialRepositoryMarkerQuery' => 'repository/marker/ArcanistMercurialRepositoryMarkerQuery.php',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistMercurialRepositoryRemoteQuery' => 'repository/remote/ArcanistMercurialRepositoryRemoteQuery.php',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistMercurialWorkEngine' => 'work/ArcanistMercurialWorkEngine.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistMercurialWorkingCopy' => 'workingcopy/ArcanistMercurialWorkingCopy.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistMercurialWorkingCopyRevisionHardpointQuery' => 'query/ArcanistMercurialWorkingCopyRevisionHardpointQuery.php',
|
2013-02-20 23:19:55 +01:00
|
|
|
'ArcanistMergeConflictLinter' => 'lint/linter/ArcanistMergeConflictLinter.php',
|
2014-06-19 23:59:12 +02:00
|
|
|
'ArcanistMergeConflictLinterTestCase' => 'lint/linter/__tests__/ArcanistMergeConflictLinterTestCase.php',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistMessageRevisionHardpointQuery' => 'query/ArcanistMessageRevisionHardpointQuery.php',
|
2020-02-15 03:22:43 +01:00
|
|
|
'ArcanistMissingArgumentTerminatorException' => 'exception/ArcanistMissingArgumentTerminatorException.php',
|
2015-01-11 20:46:23 +01:00
|
|
|
'ArcanistMissingLinterException' => 'lint/linter/exception/ArcanistMissingLinterException.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistModifierOrderingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistModifierOrderingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistModifierOrderingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistModifierOrderingXHPASTLinterRuleTestCase.php',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistMultiSourceConfigOption' => 'config/option/ArcanistMultiSourceConfigOption.php',
|
2015-11-25 21:32:01 +01:00
|
|
|
'ArcanistNamespaceFirstStatementXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistNamespaceFirstStatementXHPASTLinterRule.php',
|
|
|
|
'ArcanistNamespaceFirstStatementXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistNamespaceFirstStatementXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistNamingConventionsXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistNamingConventionsXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistNamingConventionsXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistNamingConventionsXHPASTLinterRuleTestCase.php',
|
2015-11-19 09:31:45 +01:00
|
|
|
'ArcanistNestedNamespacesXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistNestedNamespacesXHPASTLinterRule.php',
|
|
|
|
'ArcanistNestedNamespacesXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistNestedNamespacesXHPASTLinterRuleTestCase.php',
|
2015-08-30 22:49:29 +02:00
|
|
|
'ArcanistNewlineAfterOpenTagXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistNewlineAfterOpenTagXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistNewlineAfterOpenTagXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistNewlineAfterOpenTagXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistNoEffectException' => 'exception/usage/ArcanistNoEffectException.php',
|
|
|
|
'ArcanistNoEngineException' => 'exception/usage/ArcanistNoEngineException.php',
|
|
|
|
'ArcanistNoLintLinter' => 'lint/linter/ArcanistNoLintLinter.php',
|
2015-01-14 21:03:14 +01:00
|
|
|
'ArcanistNoLintLinterTestCase' => 'lint/linter/__tests__/ArcanistNoLintLinterTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistNoParentScopeXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistNoParentScopeXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistNoParentScopeXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistNoParentScopeXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistNoURIConduitException' => 'conduit/ArcanistNoURIConduitException.php',
|
2021-05-30 10:20:37 +02:00
|
|
|
'ArcanistNonblockingGuard' => 'utils/ArcanistNonblockingGuard.php',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistNoneLintRenderer' => 'lint/renderer/ArcanistNoneLintRenderer.php',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistObjectListHardpoint' => 'hardpoint/ArcanistObjectListHardpoint.php',
|
2015-08-05 23:14:38 +02:00
|
|
|
'ArcanistObjectOperatorSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistObjectOperatorSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistObjectOperatorSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistObjectOperatorSpacingXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistPEP8Linter' => 'lint/linter/ArcanistPEP8Linter.php',
|
2013-08-23 20:52:44 +02:00
|
|
|
'ArcanistPEP8LinterTestCase' => 'lint/linter/__tests__/ArcanistPEP8LinterTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPCloseTagXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPHPCloseTagXHPASTLinterRule.php',
|
2017-07-22 04:02:01 +02:00
|
|
|
'ArcanistPHPCloseTagXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPHPCloseTagXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPCompatibilityXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPHPCompatibilityXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPCompatibilityXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPHPCompatibilityXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPEchoTagXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPHPEchoTagXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPEchoTagXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPHPEchoTagXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPOpenTagXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPHPOpenTagXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPOpenTagXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPHPOpenTagXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPShortTagXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPHPShortTagXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPShortTagXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPHPShortTagXHPASTLinterRuleTestCase.php',
|
2015-12-22 22:39:44 +01:00
|
|
|
'ArcanistPaamayimNekudotayimSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPaamayimNekudotayimSpacingXHPASTLinterRule.php',
|
|
|
|
'ArcanistPaamayimNekudotayimSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPaamayimNekudotayimSpacingXHPASTLinterRuleTestCase.php',
|
2015-11-18 22:58:03 +01:00
|
|
|
'ArcanistParentMemberReferenceXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistParentMemberReferenceXHPASTLinterRule.php',
|
|
|
|
'ArcanistParentMemberReferenceXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistParentMemberReferenceXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistParenthesesSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistParenthesesSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistParenthesesSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistParenthesesSpacingXHPASTLinterRuleTestCase.php',
|
2015-08-13 23:44:19 +02:00
|
|
|
'ArcanistParseStrUseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistParseStrUseXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistParseStrUseXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistParseStrUseXHPASTLinterRuleTestCase.php',
|
2021-02-03 23:25:59 +01:00
|
|
|
'ArcanistPartialCatchXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPartialCatchXHPASTLinterRule.php',
|
|
|
|
'ArcanistPartialCatchXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPartialCatchXHPASTLinterRuleTestCase.php',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistPasteRef' => 'ref/paste/ArcanistPasteRef.php',
|
|
|
|
'ArcanistPasteSymbolRef' => 'ref/paste/ArcanistPasteSymbolRef.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistPasteWorkflow' => 'workflow/ArcanistPasteWorkflow.php',
|
|
|
|
'ArcanistPatchWorkflow' => 'workflow/ArcanistPatchWorkflow.php',
|
2014-08-28 02:29:31 +02:00
|
|
|
'ArcanistPhpLinter' => 'lint/linter/ArcanistPhpLinter.php',
|
|
|
|
'ArcanistPhpLinterTestCase' => 'lint/linter/__tests__/ArcanistPhpLinterTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistPhpcsLinter' => 'lint/linter/ArcanistPhpcsLinter.php',
|
2014-08-05 23:44:55 +02:00
|
|
|
'ArcanistPhpcsLinterTestCase' => 'lint/linter/__tests__/ArcanistPhpcsLinterTestCase.php',
|
2015-01-04 20:46:13 +01:00
|
|
|
'ArcanistPhpunitTestResultParser' => 'unit/parser/ArcanistPhpunitTestResultParser.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistPhutilLibraryLinter' => 'lint/linter/ArcanistPhutilLibraryLinter.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistPhutilWorkflow' => 'toolset/ArcanistPhutilWorkflow.php',
|
2015-11-12 21:07:52 +01:00
|
|
|
'ArcanistPhutilXHPASTLinterStandard' => 'lint/linter/standards/phutil/ArcanistPhutilXHPASTLinterStandard.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPlusOperatorOnStringsXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPlusOperatorOnStringsXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPlusOperatorOnStringsXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPlusOperatorOnStringsXHPASTLinterRuleTestCase.php',
|
2022-04-22 06:15:00 +02:00
|
|
|
'ArcanistProductNameLiteralXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistProductNameLiteralXHPASTLinterRule.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistProjectConfigurationSource' => 'config/source/ArcanistProjectConfigurationSource.php',
|
|
|
|
'ArcanistPrompt' => 'toolset/ArcanistPrompt.php',
|
2020-06-08 14:03:18 +02:00
|
|
|
'ArcanistPromptResponse' => 'toolset/ArcanistPromptResponse.php',
|
|
|
|
'ArcanistPromptsConfigOption' => 'config/option/ArcanistPromptsConfigOption.php',
|
2020-04-11 19:18:31 +02:00
|
|
|
'ArcanistPromptsWorkflow' => 'toolset/workflow/ArcanistPromptsWorkflow.php',
|
2015-12-02 23:48:35 +01:00
|
|
|
'ArcanistPublicPropertyXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistPublicPropertyXHPASTLinterRule.php',
|
|
|
|
'ArcanistPublicPropertyXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistPublicPropertyXHPASTLinterRuleTestCase.php',
|
2014-05-06 05:42:40 +02:00
|
|
|
'ArcanistPuppetLintLinter' => 'lint/linter/ArcanistPuppetLintLinter.php',
|
|
|
|
'ArcanistPuppetLintLinterTestCase' => 'lint/linter/__tests__/ArcanistPuppetLintLinterTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistPyFlakesLinter' => 'lint/linter/ArcanistPyFlakesLinter.php',
|
2014-05-06 03:58:13 +02:00
|
|
|
'ArcanistPyFlakesLinterTestCase' => 'lint/linter/__tests__/ArcanistPyFlakesLinterTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistPyLintLinter' => 'lint/linter/ArcanistPyLintLinter.php',
|
2014-06-22 19:32:35 +02:00
|
|
|
'ArcanistPyLintLinterTestCase' => 'lint/linter/__tests__/ArcanistPyLintLinterTestCase.php',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistRaggedClassTreeEdgeXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistRaggedClassTreeEdgeXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistRaggedClassTreeEdgeXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistRaggedClassTreeEdgeXHPASTLinterRuleTestCase.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistRef' => 'ref/ArcanistRef.php',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistRefInspector' => 'inspector/ArcanistRefInspector.php',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistRefView' => 'ref/ArcanistRefView.php',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistRemoteRef' => 'repository/remote/ArcanistRemoteRef.php',
|
2020-06-30 20:55:55 +02:00
|
|
|
'ArcanistRemoteRefInspector' => 'repository/remote/ArcanistRemoteRefInspector.php',
|
2020-06-30 22:03:20 +02:00
|
|
|
'ArcanistRemoteRepositoryRefsHardpointQuery' => 'repository/remote/ArcanistRemoteRepositoryRefsHardpointQuery.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistRepositoryAPI' => 'repository/api/ArcanistRepositoryAPI.php',
|
2013-01-28 23:11:31 +01:00
|
|
|
'ArcanistRepositoryAPIMiscTestCase' => 'repository/api/__tests__/ArcanistRepositoryAPIMiscTestCase.php',
|
2012-12-17 21:53:28 +01:00
|
|
|
'ArcanistRepositoryAPIStateTestCase' => 'repository/api/__tests__/ArcanistRepositoryAPIStateTestCase.php',
|
2020-06-05 02:27:29 +02:00
|
|
|
'ArcanistRepositoryLocalState' => 'repository/state/ArcanistRepositoryLocalState.php',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistRepositoryMarkerQuery' => 'repository/marker/ArcanistRepositoryMarkerQuery.php',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistRepositoryQuery' => 'repository/query/ArcanistRepositoryQuery.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistRepositoryRef' => 'ref/ArcanistRepositoryRef.php',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistRepositoryRemoteQuery' => 'repository/remote/ArcanistRepositoryRemoteQuery.php',
|
2020-06-30 19:43:39 +02:00
|
|
|
'ArcanistRepositoryURINormalizer' => 'repository/remote/ArcanistRepositoryURINormalizer.php',
|
|
|
|
'ArcanistRepositoryURINormalizerTestCase' => 'repository/remote/__tests__/ArcanistRepositoryURINormalizerTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistReusedAsIteratorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistReusedAsIteratorXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistReusedAsIteratorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistReusedAsIteratorXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistReusedIteratorReferenceXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistReusedIteratorReferenceXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistReusedIteratorReferenceXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistReusedIteratorReferenceXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistReusedIteratorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistReusedIteratorXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistReusedIteratorXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistReusedIteratorXHPASTLinterRuleTestCase.php',
|
2020-06-04 18:42:50 +02:00
|
|
|
'ArcanistRevisionAuthorHardpointQuery' => 'ref/revision/ArcanistRevisionAuthorHardpointQuery.php',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistRevisionBuildableHardpointQuery' => 'ref/revision/ArcanistRevisionBuildableHardpointQuery.php',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistRevisionCommitMessageHardpointQuery' => 'ref/revision/ArcanistRevisionCommitMessageHardpointQuery.php',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistRevisionParentRevisionsHardpointQuery' => 'ref/revision/ArcanistRevisionParentRevisionsHardpointQuery.php',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistRevisionRef' => 'ref/revision/ArcanistRevisionRef.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistRevisionRefSource' => 'ref/ArcanistRevisionRefSource.php',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistRevisionSymbolRef' => 'ref/revision/ArcanistRevisionSymbolRef.php',
|
Added RuboCop linter
Test Plan:
Add the following JSON to your `.arclint`:
```lang=json
"rubocop": {
"type": "rubocop",
"include": "(\\.rb$)"
}
```
Then, add a ruby file with errors, for instance:
```lang=ruby
def hello()
puts 'world'
end
```
Run `arc lint`. It should come up with something along the line of: "Omit the parentheses in defs when the method doesn't accept any arguments."
Reviewers: joshuaspence, remon, #blessed_reviewers, epriestley
Reviewed By: joshuaspence, #blessed_reviewers, epriestley
Subscribers: reu, calfzhou, jjooss, cburroughs, chad, Korvin, epriestley
Differential Revision: https://secure.phabricator.com/D10738
2015-04-06 18:11:06 +02:00
|
|
|
'ArcanistRuboCopLinter' => 'lint/linter/ArcanistRuboCopLinter.php',
|
|
|
|
'ArcanistRuboCopLinterTestCase' => 'lint/linter/__tests__/ArcanistRuboCopLinterTestCase.php',
|
2012-09-06 20:50:15 +02:00
|
|
|
'ArcanistRubyLinter' => 'lint/linter/ArcanistRubyLinter.php',
|
|
|
|
'ArcanistRubyLinterTestCase' => 'lint/linter/__tests__/ArcanistRubyLinterTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistRuntime' => 'runtime/ArcanistRuntime.php',
|
|
|
|
'ArcanistRuntimeConfigurationSource' => 'config/source/ArcanistRuntimeConfigurationSource.php',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistRuntimeHardpointQuery' => 'toolset/query/ArcanistRuntimeHardpointQuery.php',
|
2020-04-08 17:38:52 +02:00
|
|
|
'ArcanistScalarHardpoint' => 'hardpoint/ArcanistScalarHardpoint.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistScriptAndRegexLinter' => 'lint/linter/ArcanistScriptAndRegexLinter.php',
|
2015-12-22 22:39:44 +01:00
|
|
|
'ArcanistSelfClassReferenceXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSelfClassReferenceXHPASTLinterRule.php',
|
|
|
|
'ArcanistSelfClassReferenceXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistSelfClassReferenceXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSelfMemberReferenceXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSelfMemberReferenceXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistSelfMemberReferenceXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistSelfMemberReferenceXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSemicolonSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSemicolonSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistSemicolonSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistSemicolonSpacingXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistSetConfigWorkflow' => 'workflow/ArcanistSetConfigWorkflow.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistSetting' => 'configuration/ArcanistSetting.php',
|
Enrich arc configuration and add stronger typing
Summary:
See <https://github.com/facebook/arcanist/issues/45>
Currently, when the user types `arc set-config x false`, we set it as the string "false", which is usually not desirable. We have some steps toward typed config already, but expand on what we have and move as much stuff as possible into it, including all the config settings that aren't currently documented (there are still some lint-specific and project-specific settings not present here, but this is most of it).
Also make the `phutil_libraries` key a legacy name for `load`, and `immutable_history` a legacy name for `history.immutable`. Generally the goal here is to make config simpler and bring it more in-line with Git/Mercurial, which use dotted hierarchies.
I'll add some documentation here but I think most of the changes should be fairly straightforward.
Test Plan:
- `arc set-config history.immutable on` (And similar -- sets to boolean true.)
- `arc set-config history.immutable off` (And similar -- sets to boolean false.)
- `arc set-config history.immutable derp` (And similar -- raises exception.)
- `arc set-config history.immutable ''` (And similar -- removes setting value.)
- `arc set-config --show`
- `arc get-config`
- `arc get-config base`
Reviewers: dschleimer, bos, btrahan, vrana
Reviewed By: dschleimer
CC: aran
Maniphest Tasks: T1546
Differential Revision: https://secure.phabricator.com/D3045
2012-07-26 03:37:09 +02:00
|
|
|
'ArcanistSettings' => 'configuration/ArcanistSettings.php',
|
2020-02-14 17:52:23 +01:00
|
|
|
'ArcanistShellCompleteWorkflow' => 'toolset/workflow/ArcanistShellCompleteWorkflow.php',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistSimpleCommitGraphQuery' => 'repository/graph/query/ArcanistSimpleCommitGraphQuery.php',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistSimpleSymbolHardpointQuery' => 'ref/simple/ArcanistSimpleSymbolHardpointQuery.php',
|
|
|
|
'ArcanistSimpleSymbolRef' => 'ref/simple/ArcanistSimpleSymbolRef.php',
|
|
|
|
'ArcanistSimpleSymbolRefInspector' => 'ref/simple/ArcanistSimpleSymbolRefInspector.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistSingleLintEngine' => 'lint/engine/ArcanistSingleLintEngine.php',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistSingleSourceConfigOption' => 'config/option/ArcanistSingleSourceConfigOption.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSlownessXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSlownessXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistSlownessXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistSlownessXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistSpellingLinter' => 'lint/linter/ArcanistSpellingLinter.php',
|
|
|
|
'ArcanistSpellingLinterTestCase' => 'lint/linter/__tests__/ArcanistSpellingLinterTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistStaticThisXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistStaticThisXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistStaticThisXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistStaticThisXHPASTLinterRuleTestCase.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistStringConfigOption' => 'config/option/ArcanistStringConfigOption.php',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistStringListConfigOption' => 'config/option/ArcanistStringListConfigOption.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistSubversionAPI' => 'repository/api/ArcanistSubversionAPI.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistSubversionWorkingCopy' => 'workingcopy/ArcanistSubversionWorkingCopy.php',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistSummaryLintRenderer' => 'lint/renderer/ArcanistSummaryLintRenderer.php',
|
2020-04-12 19:52:00 +02:00
|
|
|
'ArcanistSymbolEngine' => 'ref/symbol/ArcanistSymbolEngine.php',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistSymbolRef' => 'ref/symbol/ArcanistSymbolRef.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSyntaxErrorXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistSyntaxErrorXHPASTLinterRule.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistSystemConfigurationSource' => 'config/source/ArcanistSystemConfigurationSource.php',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistTaskRef' => 'ref/task/ArcanistTaskRef.php',
|
|
|
|
'ArcanistTaskSymbolRef' => 'ref/task/ArcanistTaskSymbolRef.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistTasksWorkflow' => 'workflow/ArcanistTasksWorkflow.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistTautologicalExpressionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistTautologicalExpressionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistTautologicalExpressionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistTautologicalExpressionXHPASTLinterRuleTestCase.php',
|
2020-04-12 17:30:53 +02:00
|
|
|
'ArcanistTerminalStringInterface' => 'xsprintf/ArcanistTerminalStringInterface.php',
|
2015-01-04 20:46:13 +01:00
|
|
|
'ArcanistTestResultParser' => 'unit/parser/ArcanistTestResultParser.php',
|
2015-02-09 20:55:03 +01:00
|
|
|
'ArcanistTestXHPASTLintSwitchHook' => 'lint/linter/__tests__/ArcanistTestXHPASTLintSwitchHook.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistTextLinter' => 'lint/linter/ArcanistTextLinter.php',
|
|
|
|
'ArcanistTextLinterTestCase' => 'lint/linter/__tests__/ArcanistTextLinterTestCase.php',
|
2015-11-19 20:50:27 +01:00
|
|
|
'ArcanistThisReassignmentXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistThisReassignmentXHPASTLinterRule.php',
|
|
|
|
'ArcanistThisReassignmentXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistThisReassignmentXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistToStringExceptionXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistToStringExceptionXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistToStringExceptionXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistToStringExceptionXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistTodoCommentXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistTodoCommentXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistTodoCommentXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistTodoCommentXHPASTLinterRuleTestCase.php',
|
2012-07-11 02:32:36 +02:00
|
|
|
'ArcanistTodoWorkflow' => 'workflow/ArcanistTodoWorkflow.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistToolset' => 'toolset/ArcanistToolset.php',
|
2015-02-11 22:02:11 +01:00
|
|
|
'ArcanistUSEnglishTranslation' => 'internationalization/ArcanistUSEnglishTranslation.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUnableToParseXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnableToParseXHPASTLinterRule.php',
|
2015-08-06 03:38:14 +02:00
|
|
|
'ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRuleTestCase.php',
|
2015-08-05 23:00:32 +02:00
|
|
|
'ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUndeclaredVariableXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUndeclaredVariableXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUndeclaredVariableXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUndeclaredVariableXHPASTLinterRuleTestCase.php',
|
2015-11-19 09:34:32 +01:00
|
|
|
'ArcanistUnexpectedReturnValueXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnexpectedReturnValueXHPASTLinterRule.php',
|
|
|
|
'ArcanistUnexpectedReturnValueXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUnexpectedReturnValueXHPASTLinterRuleTestCase.php',
|
2013-02-27 22:59:12 +01:00
|
|
|
'ArcanistUnitConsoleRenderer' => 'unit/renderer/ArcanistUnitConsoleRenderer.php',
|
|
|
|
'ArcanistUnitRenderer' => 'unit/renderer/ArcanistUnitRenderer.php',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistUnitTestEngine' => 'unit/engine/ArcanistUnitTestEngine.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistUnitTestResult' => 'unit/ArcanistUnitTestResult.php',
|
Preserve more information when merging coverage
Summary:
Ref T8096. Each test reports coverage information, which we sometimes merge into a combined coverage report.
Usually, each test will report results for every line in the file, so if the file is 30 lines long, coverage is usually 30 characters long.
However, for whatever reason, tests might report results for only the first part of the file. This is allowed and we handle it properly.
Right now, if one test reports 10 lines of results and another reports 30 lines of results, we only use the first 10 lines of results. Instead, extend the merged coverage to include the extra 20 lines of results.
(This is an uncommon case which I only hit because I was manually banging on my keyboard to generate test data, but there's no reason not to handle it better.)
Test Plan: Used web UI, added + executed unit tests.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T8096
Differential Revision: https://secure.phabricator.com/D13854
2015-08-11 00:35:15 +02:00
|
|
|
'ArcanistUnitTestResultTestCase' => 'unit/__tests__/ArcanistUnitTestResultTestCase.php',
|
2015-01-04 20:44:49 +01:00
|
|
|
'ArcanistUnitTestableLintEngine' => 'lint/engine/ArcanistUnitTestableLintEngine.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistUnitWorkflow' => 'workflow/ArcanistUnitWorkflow.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUnnecessaryFinalModifierXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnnecessaryFinalModifierXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnnecessaryFinalModifierXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUnnecessaryFinalModifierXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUnnecessarySemicolonXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnnecessarySemicolonXHPASTLinterRule.php',
|
2015-11-23 22:17:25 +01:00
|
|
|
'ArcanistUnnecessarySymbolAliasXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnnecessarySymbolAliasXHPASTLinterRule.php',
|
|
|
|
'ArcanistUnnecessarySymbolAliasXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUnnecessarySymbolAliasXHPASTLinterRuleTestCase.php',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistUnsafeDynamicStringXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUnsafeDynamicStringXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnsafeDynamicStringXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUnsafeDynamicStringXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistUpgradeWorkflow' => 'workflow/ArcanistUpgradeWorkflow.php',
|
|
|
|
'ArcanistUploadWorkflow' => 'workflow/ArcanistUploadWorkflow.php',
|
|
|
|
'ArcanistUsageException' => 'exception/ArcanistUsageException.php',
|
Add a linter rule for `use` statement namespace prefixes
Summary:
When importing or aliases a symbol with a `use` statement, the leading namespace separator is optional and does not modify the behavior. That is, `use \X` is equivalent to `use X`. As such, the latter syntax should be preferred because it is more concise.
According to the [[http://php.net/manual/en/language.namespaces.importing.php | PHP documentation]]:
> Note that for namespaced names (fully qualified namespace names containing namespace separator, such as `Foo\Bar` as opposed to global names that do not, such as `FooBar`), the leading backslash is unnecessary and not recommended, as import names must be fully qualified, and are not processed relative to the current namespace.
Test Plan: Added test cases.
Reviewers: epriestley, #blessed_reviewers
Reviewed By: epriestley, #blessed_reviewers
Subscribers: epriestley
Differential Revision: https://secure.phabricator.com/D14517
2015-11-23 20:42:39 +01:00
|
|
|
'ArcanistUseStatementNamespacePrefixXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUseStatementNamespacePrefixXHPASTLinterRule.php',
|
|
|
|
'ArcanistUseStatementNamespacePrefixXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUseStatementNamespacePrefixXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUselessOverridingMethodXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistUselessOverridingMethodXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistUserAbortException' => 'exception/usage/ArcanistUserAbortException.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistUserConfigurationSource' => 'config/source/ArcanistUserConfigurationSource.php',
|
2020-04-12 15:54:46 +02:00
|
|
|
'ArcanistUserRef' => 'ref/user/ArcanistUserRef.php',
|
|
|
|
'ArcanistUserSymbolHardpointQuery' => 'ref/user/ArcanistUserSymbolHardpointQuery.php',
|
|
|
|
'ArcanistUserSymbolRef' => 'ref/user/ArcanistUserSymbolRef.php',
|
|
|
|
'ArcanistUserSymbolRefInspector' => 'ref/user/ArcanistUserSymbolRefInspector.php',
|
2015-11-30 21:16:35 +01:00
|
|
|
'ArcanistVariableReferenceSpacingXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistVariableReferenceSpacingXHPASTLinterRule.php',
|
|
|
|
'ArcanistVariableReferenceSpacingXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistVariableReferenceSpacingXHPASTLinterRuleTestCase.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistVariableVariableXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistVariableVariableXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistVariableVariableXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistVariableVariableXHPASTLinterRuleTestCase.php',
|
2020-04-08 17:38:52 +02:00
|
|
|
'ArcanistVectorHardpoint' => 'hardpoint/ArcanistVectorHardpoint.php',
|
2020-02-14 00:05:24 +01:00
|
|
|
'ArcanistVersionWorkflow' => 'toolset/workflow/ArcanistVersionWorkflow.php',
|
2018-02-14 00:10:18 +01:00
|
|
|
'ArcanistWeldWorkflow' => 'workflow/ArcanistWeldWorkflow.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistWhichWorkflow' => 'workflow/ArcanistWhichWorkflow.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWildConfigOption' => 'config/option/ArcanistWildConfigOption.php',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistWorkEngine' => 'work/ArcanistWorkEngine.php',
|
|
|
|
'ArcanistWorkWorkflow' => 'workflow/ArcanistWorkWorkflow.php',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistWorkflow' => 'workflow/ArcanistWorkflow.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkflowArgument' => 'toolset/ArcanistWorkflowArgument.php',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistWorkflowEngine' => 'engine/ArcanistWorkflowEngine.php',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistWorkflowGitHardpointQuery' => 'query/ArcanistWorkflowGitHardpointQuery.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkflowInformation' => 'toolset/ArcanistWorkflowInformation.php',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistWorkflowMercurialHardpointQuery' => 'query/ArcanistWorkflowMercurialHardpointQuery.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkingCopy' => 'workingcopy/ArcanistWorkingCopy.php',
|
|
|
|
'ArcanistWorkingCopyConfigurationSource' => 'config/source/ArcanistWorkingCopyConfigurationSource.php',
|
2012-05-30 23:22:59 +02:00
|
|
|
'ArcanistWorkingCopyIdentity' => 'workingcopyidentity/ArcanistWorkingCopyIdentity.php',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkingCopyPath' => 'workingcopy/ArcanistWorkingCopyPath.php',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistWorkingCopyStateRef' => 'ref/ArcanistWorkingCopyStateRef.php',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistWorkingCopyStateRefInspector' => 'inspector/ArcanistWorkingCopyStateRefInspector.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistXHPASTLintNamingHook' => 'lint/linter/xhpast/ArcanistXHPASTLintNamingHook.php',
|
|
|
|
'ArcanistXHPASTLintNamingHookTestCase' => 'lint/linter/xhpast/__tests__/ArcanistXHPASTLintNamingHookTestCase.php',
|
2013-02-05 20:00:07 +01:00
|
|
|
'ArcanistXHPASTLintSwitchHook' => 'lint/linter/xhpast/ArcanistXHPASTLintSwitchHook.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistXHPASTLinter' => 'lint/linter/ArcanistXHPASTLinter.php',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistXHPASTLinterRule' => 'lint/linter/xhpast/ArcanistXHPASTLinterRule.php',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistXHPASTLinterRuleTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'ArcanistXHPASTLinterTestCase' => 'lint/linter/__tests__/ArcanistXHPASTLinterTestCase.php',
|
2014-05-06 05:15:53 +02:00
|
|
|
'ArcanistXMLLinter' => 'lint/linter/ArcanistXMLLinter.php',
|
|
|
|
'ArcanistXMLLinterTestCase' => 'lint/linter/__tests__/ArcanistXMLLinterTestCase.php',
|
2015-01-04 20:46:13 +01:00
|
|
|
'ArcanistXUnitTestResultParser' => 'unit/parser/ArcanistXUnitTestResultParser.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'BaseHTTPFuture' => 'future/http/BaseHTTPFuture.php',
|
2013-09-23 14:32:34 +02:00
|
|
|
'CSharpToolsTestEngine' => 'unit/engine/CSharpToolsTestEngine.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'CaseInsensitiveArray' => 'utils/CaseInsensitiveArray.php',
|
|
|
|
'CaseInsensitiveArrayTestCase' => 'utils/__tests__/CaseInsensitiveArrayTestCase.php',
|
|
|
|
'CommandException' => 'future/exec/CommandException.php',
|
|
|
|
'ConduitClient' => 'conduit/ConduitClient.php',
|
|
|
|
'ConduitClientException' => 'conduit/ConduitClientException.php',
|
|
|
|
'ConduitClientTestCase' => 'conduit/__tests__/ConduitClientTestCase.php',
|
|
|
|
'ConduitFuture' => 'conduit/ConduitFuture.php',
|
2020-04-12 15:54:46 +02:00
|
|
|
'ConduitSearchFuture' => 'conduit/ConduitSearchFuture.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'ExecFuture' => 'future/exec/ExecFuture.php',
|
|
|
|
'ExecFutureTestCase' => 'future/exec/__tests__/ExecFutureTestCase.php',
|
|
|
|
'ExecPassthruTestCase' => 'future/exec/__tests__/ExecPassthruTestCase.php',
|
|
|
|
'FileFinder' => 'filesystem/FileFinder.php',
|
|
|
|
'FileFinderTestCase' => 'filesystem/__tests__/FileFinderTestCase.php',
|
|
|
|
'FileList' => 'filesystem/FileList.php',
|
|
|
|
'Filesystem' => 'filesystem/Filesystem.php',
|
|
|
|
'FilesystemException' => 'filesystem/FilesystemException.php',
|
|
|
|
'FilesystemTestCase' => 'filesystem/__tests__/FilesystemTestCase.php',
|
|
|
|
'Future' => 'future/Future.php',
|
2020-04-12 15:54:46 +02:00
|
|
|
'FutureAgent' => 'conduit/FutureAgent.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'FutureIterator' => 'future/FutureIterator.php',
|
|
|
|
'FutureIteratorTestCase' => 'future/__tests__/FutureIteratorTestCase.php',
|
2020-04-03 20:29:38 +02:00
|
|
|
'FuturePool' => 'future/FuturePool.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'FutureProxy' => 'future/FutureProxy.php',
|
|
|
|
'HTTPFuture' => 'future/http/HTTPFuture.php',
|
|
|
|
'HTTPFutureCURLResponseStatus' => 'future/http/status/HTTPFutureCURLResponseStatus.php',
|
|
|
|
'HTTPFutureCertificateResponseStatus' => 'future/http/status/HTTPFutureCertificateResponseStatus.php',
|
|
|
|
'HTTPFutureHTTPResponseStatus' => 'future/http/status/HTTPFutureHTTPResponseStatus.php',
|
|
|
|
'HTTPFutureParseResponseStatus' => 'future/http/status/HTTPFutureParseResponseStatus.php',
|
|
|
|
'HTTPFutureResponseStatus' => 'future/http/status/HTTPFutureResponseStatus.php',
|
|
|
|
'HTTPFutureTransportResponseStatus' => 'future/http/status/HTTPFutureTransportResponseStatus.php',
|
|
|
|
'HTTPSFuture' => 'future/http/HTTPSFuture.php',
|
|
|
|
'ImmediateFuture' => 'future/ImmediateFuture.php',
|
|
|
|
'LibphutilUSEnglishTranslation' => 'internationalization/translation/LibphutilUSEnglishTranslation.php',
|
|
|
|
'LinesOfALarge' => 'filesystem/linesofalarge/LinesOfALarge.php',
|
|
|
|
'LinesOfALargeExecFuture' => 'filesystem/linesofalarge/LinesOfALargeExecFuture.php',
|
|
|
|
'LinesOfALargeExecFutureTestCase' => 'filesystem/linesofalarge/__tests__/LinesOfALargeExecFutureTestCase.php',
|
|
|
|
'LinesOfALargeFile' => 'filesystem/linesofalarge/LinesOfALargeFile.php',
|
|
|
|
'LinesOfALargeFileTestCase' => 'filesystem/linesofalarge/__tests__/LinesOfALargeFileTestCase.php',
|
|
|
|
'MFilterTestHelper' => 'utils/__tests__/MFilterTestHelper.php',
|
2021-09-04 22:22:43 +02:00
|
|
|
'MethodCallFuture' => 'future/MethodCallFuture.php',
|
|
|
|
'MethodCallFutureTestCase' => 'future/__tests__/MethodCallFutureTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'NoseTestEngine' => 'unit/engine/NoseTestEngine.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PHPASTParserTestCase' => 'parser/xhpast/__tests__/PHPASTParserTestCase.php',
|
|
|
|
'PhageAction' => 'phage/action/PhageAction.php',
|
|
|
|
'PhageAgentAction' => 'phage/action/PhageAgentAction.php',
|
|
|
|
'PhageAgentBootloader' => 'phage/bootloader/PhageAgentBootloader.php',
|
|
|
|
'PhageAgentTestCase' => 'phage/__tests__/PhageAgentTestCase.php',
|
2020-04-06 19:21:53 +02:00
|
|
|
'PhageExecWorkflow' => 'phage/workflow/PhageExecWorkflow.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhageExecuteAction' => 'phage/action/PhageExecuteAction.php',
|
|
|
|
'PhageLocalAction' => 'phage/action/PhageLocalAction.php',
|
|
|
|
'PhagePHPAgent' => 'phage/agent/PhagePHPAgent.php',
|
|
|
|
'PhagePHPAgentBootloader' => 'phage/bootloader/PhagePHPAgentBootloader.php',
|
|
|
|
'PhagePlanAction' => 'phage/action/PhagePlanAction.php',
|
2020-02-23 17:40:44 +01:00
|
|
|
'PhageToolset' => 'phage/toolset/PhageToolset.php',
|
2020-02-13 00:43:12 +01:00
|
|
|
'PhageWorkflow' => 'phage/workflow/PhageWorkflow.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'Phobject' => 'object/Phobject.php',
|
|
|
|
'PhobjectTestCase' => 'object/__tests__/PhobjectTestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'PhpunitTestEngine' => 'unit/engine/PhpunitTestEngine.php',
|
2015-01-04 20:46:24 +01:00
|
|
|
'PhpunitTestEngineTestCase' => 'unit/engine/__tests__/PhpunitTestEngineTestCase.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilAWSCloudFormationFuture' => 'future/aws/PhutilAWSCloudFormationFuture.php',
|
|
|
|
'PhutilAWSCloudWatchFuture' => 'future/aws/PhutilAWSCloudWatchFuture.php',
|
|
|
|
'PhutilAWSEC2Future' => 'future/aws/PhutilAWSEC2Future.php',
|
|
|
|
'PhutilAWSException' => 'future/aws/PhutilAWSException.php',
|
|
|
|
'PhutilAWSFuture' => 'future/aws/PhutilAWSFuture.php',
|
|
|
|
'PhutilAWSManagementWorkflow' => 'future/aws/management/PhutilAWSManagementWorkflow.php',
|
|
|
|
'PhutilAWSS3DeleteManagementWorkflow' => 'future/aws/management/PhutilAWSS3DeleteManagementWorkflow.php',
|
|
|
|
'PhutilAWSS3Future' => 'future/aws/PhutilAWSS3Future.php',
|
|
|
|
'PhutilAWSS3GetManagementWorkflow' => 'future/aws/management/PhutilAWSS3GetManagementWorkflow.php',
|
|
|
|
'PhutilAWSS3ManagementWorkflow' => 'future/aws/management/PhutilAWSS3ManagementWorkflow.php',
|
|
|
|
'PhutilAWSS3PutManagementWorkflow' => 'future/aws/management/PhutilAWSS3PutManagementWorkflow.php',
|
|
|
|
'PhutilAWSv4Signature' => 'future/aws/PhutilAWSv4Signature.php',
|
|
|
|
'PhutilAWSv4SignatureTestCase' => 'future/aws/__tests__/PhutilAWSv4SignatureTestCase.php',
|
|
|
|
'PhutilAggregateException' => 'error/PhutilAggregateException.php',
|
|
|
|
'PhutilAllCapsEnglishLocale' => 'internationalization/locales/PhutilAllCapsEnglishLocale.php',
|
|
|
|
'PhutilArgumentParser' => 'parser/argument/PhutilArgumentParser.php',
|
|
|
|
'PhutilArgumentParserException' => 'parser/argument/exception/PhutilArgumentParserException.php',
|
|
|
|
'PhutilArgumentParserTestCase' => 'parser/argument/__tests__/PhutilArgumentParserTestCase.php',
|
|
|
|
'PhutilArgumentSpecification' => 'parser/argument/PhutilArgumentSpecification.php',
|
|
|
|
'PhutilArgumentSpecificationException' => 'parser/argument/exception/PhutilArgumentSpecificationException.php',
|
|
|
|
'PhutilArgumentSpecificationTestCase' => 'parser/argument/__tests__/PhutilArgumentSpecificationTestCase.php',
|
|
|
|
'PhutilArgumentSpellingCorrector' => 'parser/argument/PhutilArgumentSpellingCorrector.php',
|
|
|
|
'PhutilArgumentSpellingCorrectorTestCase' => 'parser/argument/__tests__/PhutilArgumentSpellingCorrectorTestCase.php',
|
|
|
|
'PhutilArgumentUsageException' => 'parser/argument/exception/PhutilArgumentUsageException.php',
|
|
|
|
'PhutilArgumentWorkflow' => 'parser/argument/workflow/PhutilArgumentWorkflow.php',
|
|
|
|
'PhutilArray' => 'utils/PhutilArray.php',
|
2020-05-28 16:26:06 +02:00
|
|
|
'PhutilArrayCheck' => 'utils/PhutilArrayCheck.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilArrayTestCase' => 'utils/__tests__/PhutilArrayTestCase.php',
|
|
|
|
'PhutilArrayWithDefaultValue' => 'utils/PhutilArrayWithDefaultValue.php',
|
|
|
|
'PhutilAsanaFuture' => 'future/asana/PhutilAsanaFuture.php',
|
|
|
|
'PhutilBacktraceSignalHandler' => 'future/exec/PhutilBacktraceSignalHandler.php',
|
|
|
|
'PhutilBallOfPHP' => 'phage/util/PhutilBallOfPHP.php',
|
|
|
|
'PhutilBinaryAnalyzer' => 'filesystem/binary/PhutilBinaryAnalyzer.php',
|
|
|
|
'PhutilBinaryAnalyzerTestCase' => 'filesystem/binary/__tests__/PhutilBinaryAnalyzerTestCase.php',
|
|
|
|
'PhutilBootloader' => 'init/lib/PhutilBootloader.php',
|
|
|
|
'PhutilBootloaderException' => 'init/lib/PhutilBootloaderException.php',
|
|
|
|
'PhutilBritishEnglishLocale' => 'internationalization/locales/PhutilBritishEnglishLocale.php',
|
|
|
|
'PhutilBufferedIterator' => 'utils/PhutilBufferedIterator.php',
|
|
|
|
'PhutilBufferedIteratorTestCase' => 'utils/__tests__/PhutilBufferedIteratorTestCase.php',
|
|
|
|
'PhutilBugtraqParser' => 'parser/PhutilBugtraqParser.php',
|
|
|
|
'PhutilBugtraqParserTestCase' => 'parser/__tests__/PhutilBugtraqParserTestCase.php',
|
|
|
|
'PhutilCIDRBlock' => 'ip/PhutilCIDRBlock.php',
|
|
|
|
'PhutilCIDRList' => 'ip/PhutilCIDRList.php',
|
|
|
|
'PhutilCallbackFilterIterator' => 'utils/PhutilCallbackFilterIterator.php',
|
|
|
|
'PhutilCallbackSignalHandler' => 'future/exec/PhutilCallbackSignalHandler.php',
|
|
|
|
'PhutilChannel' => 'channel/PhutilChannel.php',
|
|
|
|
'PhutilChannelChannel' => 'channel/PhutilChannelChannel.php',
|
|
|
|
'PhutilChannelTestCase' => 'channel/__tests__/PhutilChannelTestCase.php',
|
|
|
|
'PhutilChunkedIterator' => 'utils/PhutilChunkedIterator.php',
|
|
|
|
'PhutilChunkedIteratorTestCase' => 'utils/__tests__/PhutilChunkedIteratorTestCase.php',
|
|
|
|
'PhutilClassMapQuery' => 'symbols/PhutilClassMapQuery.php',
|
|
|
|
'PhutilCloudWatchMetric' => 'future/aws/PhutilCloudWatchMetric.php',
|
|
|
|
'PhutilCommandString' => 'xsprintf/PhutilCommandString.php',
|
|
|
|
'PhutilConsole' => 'console/PhutilConsole.php',
|
|
|
|
'PhutilConsoleBlock' => 'console/view/PhutilConsoleBlock.php',
|
|
|
|
'PhutilConsoleError' => 'console/view/PhutilConsoleError.php',
|
|
|
|
'PhutilConsoleFormatter' => 'console/PhutilConsoleFormatter.php',
|
|
|
|
'PhutilConsoleInfo' => 'console/view/PhutilConsoleInfo.php',
|
|
|
|
'PhutilConsoleList' => 'console/view/PhutilConsoleList.php',
|
|
|
|
'PhutilConsoleLogLine' => 'console/view/PhutilConsoleLogLine.php',
|
|
|
|
'PhutilConsoleMessage' => 'console/PhutilConsoleMessage.php',
|
|
|
|
'PhutilConsoleMetrics' => 'console/PhutilConsoleMetrics.php',
|
|
|
|
'PhutilConsoleMetricsSignalHandler' => 'future/exec/PhutilConsoleMetricsSignalHandler.php',
|
|
|
|
'PhutilConsoleProgressBar' => 'console/PhutilConsoleProgressBar.php',
|
|
|
|
'PhutilConsoleProgressSink' => 'progress/PhutilConsoleProgressSink.php',
|
|
|
|
'PhutilConsoleServer' => 'console/PhutilConsoleServer.php',
|
|
|
|
'PhutilConsoleServerChannel' => 'console/PhutilConsoleServerChannel.php',
|
|
|
|
'PhutilConsoleSkip' => 'console/view/PhutilConsoleSkip.php',
|
|
|
|
'PhutilConsoleStdinNotInteractiveException' => 'console/PhutilConsoleStdinNotInteractiveException.php',
|
|
|
|
'PhutilConsoleTable' => 'console/view/PhutilConsoleTable.php',
|
|
|
|
'PhutilConsoleView' => 'console/view/PhutilConsoleView.php',
|
|
|
|
'PhutilConsoleWarning' => 'console/view/PhutilConsoleWarning.php',
|
|
|
|
'PhutilConsoleWrapTestCase' => 'console/__tests__/PhutilConsoleWrapTestCase.php',
|
|
|
|
'PhutilCowsay' => 'utils/PhutilCowsay.php',
|
|
|
|
'PhutilCowsayTestCase' => 'utils/__tests__/PhutilCowsayTestCase.php',
|
|
|
|
'PhutilCsprintfTestCase' => 'xsprintf/__tests__/PhutilCsprintfTestCase.php',
|
|
|
|
'PhutilCzechLocale' => 'internationalization/locales/PhutilCzechLocale.php',
|
|
|
|
'PhutilDOMNode' => 'parser/html/PhutilDOMNode.php',
|
|
|
|
'PhutilDeferredLog' => 'filesystem/PhutilDeferredLog.php',
|
|
|
|
'PhutilDeferredLogTestCase' => 'filesystem/__tests__/PhutilDeferredLogTestCase.php',
|
|
|
|
'PhutilDiffBinaryAnalyzer' => 'filesystem/binary/PhutilDiffBinaryAnalyzer.php',
|
|
|
|
'PhutilDirectedScalarGraph' => 'utils/PhutilDirectedScalarGraph.php',
|
|
|
|
'PhutilDirectoryFixture' => 'filesystem/PhutilDirectoryFixture.php',
|
|
|
|
'PhutilDocblockParser' => 'parser/PhutilDocblockParser.php',
|
|
|
|
'PhutilDocblockParserTestCase' => 'parser/__tests__/PhutilDocblockParserTestCase.php',
|
|
|
|
'PhutilEditDistanceMatrix' => 'utils/PhutilEditDistanceMatrix.php',
|
|
|
|
'PhutilEditDistanceMatrixTestCase' => 'utils/__tests__/PhutilEditDistanceMatrixTestCase.php',
|
|
|
|
'PhutilEditorConfig' => 'parser/PhutilEditorConfig.php',
|
|
|
|
'PhutilEditorConfigTestCase' => 'parser/__tests__/PhutilEditorConfigTestCase.php',
|
|
|
|
'PhutilEmailAddress' => 'parser/PhutilEmailAddress.php',
|
|
|
|
'PhutilEmailAddressTestCase' => 'parser/__tests__/PhutilEmailAddressTestCase.php',
|
|
|
|
'PhutilEmojiLocale' => 'internationalization/locales/PhutilEmojiLocale.php',
|
|
|
|
'PhutilEnglishCanadaLocale' => 'internationalization/locales/PhutilEnglishCanadaLocale.php',
|
|
|
|
'PhutilErrorHandler' => 'error/PhutilErrorHandler.php',
|
|
|
|
'PhutilErrorHandlerTestCase' => 'error/__tests__/PhutilErrorHandlerTestCase.php',
|
2021-02-26 20:59:49 +01:00
|
|
|
'PhutilErrorLog' => 'filesystem/PhutilErrorLog.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilErrorTrap' => 'error/PhutilErrorTrap.php',
|
|
|
|
'PhutilEvent' => 'events/PhutilEvent.php',
|
|
|
|
'PhutilEventConstants' => 'events/constant/PhutilEventConstants.php',
|
|
|
|
'PhutilEventEngine' => 'events/PhutilEventEngine.php',
|
|
|
|
'PhutilEventListener' => 'events/PhutilEventListener.php',
|
|
|
|
'PhutilEventType' => 'events/constant/PhutilEventType.php',
|
|
|
|
'PhutilExampleBufferedIterator' => 'utils/PhutilExampleBufferedIterator.php',
|
|
|
|
'PhutilExecChannel' => 'channel/PhutilExecChannel.php',
|
|
|
|
'PhutilExecPassthru' => 'future/exec/PhutilExecPassthru.php',
|
|
|
|
'PhutilExecutableFuture' => 'future/exec/PhutilExecutableFuture.php',
|
|
|
|
'PhutilExecutionEnvironment' => 'utils/PhutilExecutionEnvironment.php',
|
|
|
|
'PhutilFileLock' => 'filesystem/PhutilFileLock.php',
|
|
|
|
'PhutilFileLockTestCase' => 'filesystem/__tests__/PhutilFileLockTestCase.php',
|
|
|
|
'PhutilFrenchLocale' => 'internationalization/locales/PhutilFrenchLocale.php',
|
|
|
|
'PhutilGermanLocale' => 'internationalization/locales/PhutilGermanLocale.php',
|
|
|
|
'PhutilGitBinaryAnalyzer' => 'filesystem/binary/PhutilGitBinaryAnalyzer.php',
|
|
|
|
'PhutilGitHubFuture' => 'future/github/PhutilGitHubFuture.php',
|
|
|
|
'PhutilGitHubResponse' => 'future/github/PhutilGitHubResponse.php',
|
|
|
|
'PhutilGitURI' => 'parser/PhutilGitURI.php',
|
|
|
|
'PhutilGitURITestCase' => 'parser/__tests__/PhutilGitURITestCase.php',
|
2021-01-12 19:33:47 +01:00
|
|
|
'PhutilGitsprintfTestCase' => 'xsprintf/__tests__/PhutilGitsprintfTestCase.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilHTMLParser' => 'parser/html/PhutilHTMLParser.php',
|
|
|
|
'PhutilHTMLParserTestCase' => 'parser/html/__tests__/PhutilHTMLParserTestCase.php',
|
|
|
|
'PhutilHTTPEngineExtension' => 'future/http/PhutilHTTPEngineExtension.php',
|
|
|
|
'PhutilHTTPResponse' => 'parser/http/PhutilHTTPResponse.php',
|
|
|
|
'PhutilHTTPResponseParser' => 'parser/http/PhutilHTTPResponseParser.php',
|
|
|
|
'PhutilHTTPResponseParserTestCase' => 'parser/http/__tests__/PhutilHTTPResponseParserTestCase.php',
|
|
|
|
'PhutilHashingIterator' => 'utils/PhutilHashingIterator.php',
|
|
|
|
'PhutilHashingIteratorTestCase' => 'utils/__tests__/PhutilHashingIteratorTestCase.php',
|
|
|
|
'PhutilHelpArgumentWorkflow' => 'parser/argument/workflow/PhutilHelpArgumentWorkflow.php',
|
|
|
|
'PhutilHgsprintfTestCase' => 'xsprintf/__tests__/PhutilHgsprintfTestCase.php',
|
|
|
|
'PhutilINIParserException' => 'parser/exception/PhutilINIParserException.php',
|
|
|
|
'PhutilIPAddress' => 'ip/PhutilIPAddress.php',
|
|
|
|
'PhutilIPAddressTestCase' => 'ip/__tests__/PhutilIPAddressTestCase.php',
|
|
|
|
'PhutilIPv4Address' => 'ip/PhutilIPv4Address.php',
|
|
|
|
'PhutilIPv6Address' => 'ip/PhutilIPv6Address.php',
|
|
|
|
'PhutilInteractiveEditor' => 'console/PhutilInteractiveEditor.php',
|
|
|
|
'PhutilInvalidRuleParserGeneratorException' => 'parser/generator/exception/PhutilInvalidRuleParserGeneratorException.php',
|
|
|
|
'PhutilInvalidStateException' => 'exception/PhutilInvalidStateException.php',
|
|
|
|
'PhutilInvalidStateExceptionTestCase' => 'exception/__tests__/PhutilInvalidStateExceptionTestCase.php',
|
|
|
|
'PhutilIrreducibleRuleParserGeneratorException' => 'parser/generator/exception/PhutilIrreducibleRuleParserGeneratorException.php',
|
|
|
|
'PhutilJSON' => 'parser/PhutilJSON.php',
|
|
|
|
'PhutilJSONFragmentLexer' => 'lexer/PhutilJSONFragmentLexer.php',
|
|
|
|
'PhutilJSONParser' => 'parser/PhutilJSONParser.php',
|
|
|
|
'PhutilJSONParserException' => 'parser/exception/PhutilJSONParserException.php',
|
|
|
|
'PhutilJSONParserTestCase' => 'parser/__tests__/PhutilJSONParserTestCase.php',
|
|
|
|
'PhutilJSONProtocolChannel' => 'channel/PhutilJSONProtocolChannel.php',
|
|
|
|
'PhutilJSONProtocolChannelTestCase' => 'channel/__tests__/PhutilJSONProtocolChannelTestCase.php',
|
|
|
|
'PhutilJSONTestCase' => 'parser/__tests__/PhutilJSONTestCase.php',
|
|
|
|
'PhutilJavaFragmentLexer' => 'lexer/PhutilJavaFragmentLexer.php',
|
|
|
|
'PhutilKoreanLocale' => 'internationalization/locales/PhutilKoreanLocale.php',
|
|
|
|
'PhutilLanguageGuesser' => 'parser/PhutilLanguageGuesser.php',
|
|
|
|
'PhutilLanguageGuesserTestCase' => 'parser/__tests__/PhutilLanguageGuesserTestCase.php',
|
|
|
|
'PhutilLexer' => 'lexer/PhutilLexer.php',
|
|
|
|
'PhutilLibraryConflictException' => 'init/lib/PhutilLibraryConflictException.php',
|
|
|
|
'PhutilLibraryMapBuilder' => 'moduleutils/PhutilLibraryMapBuilder.php',
|
|
|
|
'PhutilLibraryTestCase' => '__tests__/PhutilLibraryTestCase.php',
|
|
|
|
'PhutilLocale' => 'internationalization/PhutilLocale.php',
|
|
|
|
'PhutilLocaleTestCase' => 'internationalization/__tests__/PhutilLocaleTestCase.php',
|
|
|
|
'PhutilLock' => 'filesystem/PhutilLock.php',
|
|
|
|
'PhutilLockException' => 'filesystem/PhutilLockException.php',
|
|
|
|
'PhutilLogFileChannel' => 'channel/PhutilLogFileChannel.php',
|
|
|
|
'PhutilLunarPhase' => 'utils/PhutilLunarPhase.php',
|
|
|
|
'PhutilLunarPhaseTestCase' => 'utils/__tests__/PhutilLunarPhaseTestCase.php',
|
|
|
|
'PhutilMercurialBinaryAnalyzer' => 'filesystem/binary/PhutilMercurialBinaryAnalyzer.php',
|
|
|
|
'PhutilMethodNotImplementedException' => 'error/PhutilMethodNotImplementedException.php',
|
|
|
|
'PhutilMetricsChannel' => 'channel/PhutilMetricsChannel.php',
|
|
|
|
'PhutilMissingSymbolException' => 'init/lib/PhutilMissingSymbolException.php',
|
|
|
|
'PhutilModuleUtilsTestCase' => 'init/lib/__tests__/PhutilModuleUtilsTestCase.php',
|
|
|
|
'PhutilNumber' => 'internationalization/PhutilNumber.php',
|
|
|
|
'PhutilOAuth1Future' => 'future/oauth/PhutilOAuth1Future.php',
|
|
|
|
'PhutilOAuth1FutureTestCase' => 'future/oauth/__tests__/PhutilOAuth1FutureTestCase.php',
|
|
|
|
'PhutilOpaqueEnvelope' => 'error/PhutilOpaqueEnvelope.php',
|
|
|
|
'PhutilOpaqueEnvelopeKey' => 'error/PhutilOpaqueEnvelopeKey.php',
|
|
|
|
'PhutilOpaqueEnvelopeTestCase' => 'error/__tests__/PhutilOpaqueEnvelopeTestCase.php',
|
|
|
|
'PhutilPHPFragmentLexer' => 'lexer/PhutilPHPFragmentLexer.php',
|
|
|
|
'PhutilPHPFragmentLexerTestCase' => 'lexer/__tests__/PhutilPHPFragmentLexerTestCase.php',
|
|
|
|
'PhutilPHPObjectProtocolChannel' => 'channel/PhutilPHPObjectProtocolChannel.php',
|
|
|
|
'PhutilPHPObjectProtocolChannelTestCase' => 'channel/__tests__/PhutilPHPObjectProtocolChannelTestCase.php',
|
|
|
|
'PhutilParserGenerator' => 'parser/PhutilParserGenerator.php',
|
|
|
|
'PhutilParserGeneratorException' => 'parser/generator/exception/PhutilParserGeneratorException.php',
|
|
|
|
'PhutilParserGeneratorTestCase' => 'parser/__tests__/PhutilParserGeneratorTestCase.php',
|
|
|
|
'PhutilPayPalAPIFuture' => 'future/paypal/PhutilPayPalAPIFuture.php',
|
|
|
|
'PhutilPerson' => 'internationalization/PhutilPerson.php',
|
|
|
|
'PhutilPersonTest' => 'internationalization/__tests__/PhutilPersonTest.php',
|
|
|
|
'PhutilPhtTestCase' => 'internationalization/__tests__/PhutilPhtTestCase.php',
|
|
|
|
'PhutilPirateEnglishLocale' => 'internationalization/locales/PhutilPirateEnglishLocale.php',
|
|
|
|
'PhutilPortugueseBrazilLocale' => 'internationalization/locales/PhutilPortugueseBrazilLocale.php',
|
|
|
|
'PhutilPortuguesePortugalLocale' => 'internationalization/locales/PhutilPortuguesePortugalLocale.php',
|
|
|
|
'PhutilPostmarkFuture' => 'future/postmark/PhutilPostmarkFuture.php',
|
|
|
|
'PhutilPregsprintfTestCase' => 'xsprintf/__tests__/PhutilPregsprintfTestCase.php',
|
|
|
|
'PhutilProcessQuery' => 'filesystem/PhutilProcessQuery.php',
|
|
|
|
'PhutilProcessRef' => 'filesystem/PhutilProcessRef.php',
|
|
|
|
'PhutilProcessRefTestCase' => 'filesystem/__tests__/PhutilProcessRefTestCase.php',
|
|
|
|
'PhutilProgressSink' => 'progress/PhutilProgressSink.php',
|
|
|
|
'PhutilProtocolChannel' => 'channel/PhutilProtocolChannel.php',
|
|
|
|
'PhutilProxyException' => 'error/PhutilProxyException.php',
|
|
|
|
'PhutilProxyIterator' => 'utils/PhutilProxyIterator.php',
|
|
|
|
'PhutilPygmentizeBinaryAnalyzer' => 'filesystem/binary/PhutilPygmentizeBinaryAnalyzer.php',
|
|
|
|
'PhutilPythonFragmentLexer' => 'lexer/PhutilPythonFragmentLexer.php',
|
|
|
|
'PhutilQueryStringParser' => 'parser/PhutilQueryStringParser.php',
|
|
|
|
'PhutilQueryStringParserTestCase' => 'parser/__tests__/PhutilQueryStringParserTestCase.php',
|
|
|
|
'PhutilRawEnglishLocale' => 'internationalization/locales/PhutilRawEnglishLocale.php',
|
|
|
|
'PhutilReadableSerializer' => 'readableserializer/PhutilReadableSerializer.php',
|
|
|
|
'PhutilReadableSerializerTestCase' => 'readableserializer/__tests__/PhutilReadableSerializerTestCase.php',
|
2021-02-17 21:42:09 +01:00
|
|
|
'PhutilRegexException' => 'exception/PhutilRegexException.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilRope' => 'utils/PhutilRope.php',
|
|
|
|
'PhutilRopeTestCase' => 'utils/__tests__/PhutilRopeTestCase.php',
|
|
|
|
'PhutilServiceProfiler' => 'serviceprofiler/PhutilServiceProfiler.php',
|
|
|
|
'PhutilShellLexer' => 'lexer/PhutilShellLexer.php',
|
|
|
|
'PhutilShellLexerTestCase' => 'lexer/__tests__/PhutilShellLexerTestCase.php',
|
|
|
|
'PhutilSignalHandler' => 'future/exec/PhutilSignalHandler.php',
|
|
|
|
'PhutilSignalRouter' => 'future/exec/PhutilSignalRouter.php',
|
|
|
|
'PhutilSimpleOptions' => 'parser/PhutilSimpleOptions.php',
|
|
|
|
'PhutilSimpleOptionsLexer' => 'lexer/PhutilSimpleOptionsLexer.php',
|
|
|
|
'PhutilSimpleOptionsLexerTestCase' => 'lexer/__tests__/PhutilSimpleOptionsLexerTestCase.php',
|
|
|
|
'PhutilSimpleOptionsTestCase' => 'parser/__tests__/PhutilSimpleOptionsTestCase.php',
|
|
|
|
'PhutilSimplifiedChineseLocale' => 'internationalization/locales/PhutilSimplifiedChineseLocale.php',
|
|
|
|
'PhutilSlackFuture' => 'future/slack/PhutilSlackFuture.php',
|
|
|
|
'PhutilSocketChannel' => 'channel/PhutilSocketChannel.php',
|
|
|
|
'PhutilSortVector' => 'utils/PhutilSortVector.php',
|
|
|
|
'PhutilSpanishSpainLocale' => 'internationalization/locales/PhutilSpanishSpainLocale.php',
|
|
|
|
'PhutilStreamIterator' => 'utils/PhutilStreamIterator.php',
|
|
|
|
'PhutilSubversionBinaryAnalyzer' => 'filesystem/binary/PhutilSubversionBinaryAnalyzer.php',
|
|
|
|
'PhutilSymbolLoader' => 'symbols/PhutilSymbolLoader.php',
|
|
|
|
'PhutilSystem' => 'utils/PhutilSystem.php',
|
|
|
|
'PhutilSystemTestCase' => 'utils/__tests__/PhutilSystemTestCase.php',
|
|
|
|
'PhutilTerminalString' => 'xsprintf/PhutilTerminalString.php',
|
2015-05-20 01:37:44 +02:00
|
|
|
'PhutilTestCase' => 'unit/engine/phutil/PhutilTestCase.php',
|
|
|
|
'PhutilTestCaseTestCase' => 'unit/engine/phutil/testcase/PhutilTestCaseTestCase.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilTestPhobject' => 'object/__tests__/PhutilTestPhobject.php',
|
2015-05-20 01:37:44 +02:00
|
|
|
'PhutilTestSkippedException' => 'unit/engine/phutil/testcase/PhutilTestSkippedException.php',
|
|
|
|
'PhutilTestTerminatedException' => 'unit/engine/phutil/testcase/PhutilTestTerminatedException.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilTraditionalChineseLocale' => 'internationalization/locales/PhutilTraditionalChineseLocale.php',
|
|
|
|
'PhutilTranslation' => 'internationalization/PhutilTranslation.php',
|
|
|
|
'PhutilTranslationTestCase' => 'internationalization/__tests__/PhutilTranslationTestCase.php',
|
|
|
|
'PhutilTranslator' => 'internationalization/PhutilTranslator.php',
|
|
|
|
'PhutilTranslatorTestCase' => 'internationalization/__tests__/PhutilTranslatorTestCase.php',
|
|
|
|
'PhutilTsprintfTestCase' => 'xsprintf/__tests__/PhutilTsprintfTestCase.php',
|
|
|
|
'PhutilTwitchFuture' => 'future/twitch/PhutilTwitchFuture.php',
|
|
|
|
'PhutilTypeCheckException' => 'parser/exception/PhutilTypeCheckException.php',
|
|
|
|
'PhutilTypeExtraParametersException' => 'parser/exception/PhutilTypeExtraParametersException.php',
|
|
|
|
'PhutilTypeLexer' => 'lexer/PhutilTypeLexer.php',
|
|
|
|
'PhutilTypeMissingParametersException' => 'parser/exception/PhutilTypeMissingParametersException.php',
|
|
|
|
'PhutilTypeSpec' => 'parser/PhutilTypeSpec.php',
|
|
|
|
'PhutilTypeSpecTestCase' => 'parser/__tests__/PhutilTypeSpecTestCase.php',
|
|
|
|
'PhutilURI' => 'parser/PhutilURI.php',
|
|
|
|
'PhutilURITestCase' => 'parser/__tests__/PhutilURITestCase.php',
|
|
|
|
'PhutilUSEnglishLocale' => 'internationalization/locales/PhutilUSEnglishLocale.php',
|
|
|
|
'PhutilUTF8StringTruncator' => 'utils/PhutilUTF8StringTruncator.php',
|
|
|
|
'PhutilUTF8TestCase' => 'utils/__tests__/PhutilUTF8TestCase.php',
|
2012-06-01 20:41:04 +02:00
|
|
|
'PhutilUnitTestEngine' => 'unit/engine/PhutilUnitTestEngine.php',
|
|
|
|
'PhutilUnitTestEngineTestCase' => 'unit/engine/__tests__/PhutilUnitTestEngineTestCase.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilUnknownSymbolParserGeneratorException' => 'parser/generator/exception/PhutilUnknownSymbolParserGeneratorException.php',
|
|
|
|
'PhutilUnreachableRuleParserGeneratorException' => 'parser/generator/exception/PhutilUnreachableRuleParserGeneratorException.php',
|
|
|
|
'PhutilUnreachableTerminalParserGeneratorException' => 'parser/generator/exception/PhutilUnreachableTerminalParserGeneratorException.php',
|
|
|
|
'PhutilUrisprintfTestCase' => 'xsprintf/__tests__/PhutilUrisprintfTestCase.php',
|
|
|
|
'PhutilUtilsTestCase' => 'utils/__tests__/PhutilUtilsTestCase.php',
|
|
|
|
'PhutilVeryWowEnglishLocale' => 'internationalization/locales/PhutilVeryWowEnglishLocale.php',
|
|
|
|
'PhutilWordPressFuture' => 'future/wordpress/PhutilWordPressFuture.php',
|
|
|
|
'PhutilXHPASTBinary' => 'parser/xhpast/bin/PhutilXHPASTBinary.php',
|
2022-04-22 06:15:00 +02:00
|
|
|
'PlatformSymbols' => 'platform/PlatformSymbols.php',
|
2013-06-13 23:23:45 +02:00
|
|
|
'PytestTestEngine' => 'unit/engine/PytestTestEngine.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'TempFile' => 'filesystem/TempFile.php',
|
|
|
|
'TestAbstractDirectedGraph' => 'utils/__tests__/TestAbstractDirectedGraph.php',
|
|
|
|
'XHPASTNode' => 'parser/xhpast/api/XHPASTNode.php',
|
|
|
|
'XHPASTNodeTestCase' => 'parser/xhpast/api/__tests__/XHPASTNodeTestCase.php',
|
|
|
|
'XHPASTSyntaxErrorException' => 'parser/xhpast/api/XHPASTSyntaxErrorException.php',
|
|
|
|
'XHPASTToken' => 'parser/xhpast/api/XHPASTToken.php',
|
|
|
|
'XHPASTTree' => 'parser/xhpast/api/XHPASTTree.php',
|
|
|
|
'XHPASTTreeTestCase' => 'parser/xhpast/api/__tests__/XHPASTTreeTestCase.php',
|
2013-09-23 14:32:34 +02:00
|
|
|
'XUnitTestEngine' => 'unit/engine/XUnitTestEngine.php',
|
2015-01-04 20:46:13 +01:00
|
|
|
'XUnitTestResultParserTestCase' => 'unit/parser/__tests__/XUnitTestResultParserTestCase.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'XsprintfUnknownConversionException' => 'xsprintf/exception/XsprintfUnknownConversionException.php',
|
|
|
|
),
|
|
|
|
'function' => array(
|
|
|
|
'__phutil_autoload' => 'init/init-library.php',
|
|
|
|
'array_fuse' => 'utils/utils.php',
|
|
|
|
'array_interleave' => 'utils/utils.php',
|
|
|
|
'array_mergev' => 'utils/utils.php',
|
|
|
|
'array_select_keys' => 'utils/utils.php',
|
|
|
|
'assert_instances_of' => 'utils/utils.php',
|
|
|
|
'assert_same_keys' => 'utils/utils.php',
|
|
|
|
'assert_stringlike' => 'utils/utils.php',
|
|
|
|
'coalesce' => 'utils/utils.php',
|
|
|
|
'csprintf' => 'xsprintf/csprintf.php',
|
|
|
|
'exec_manual' => 'future/exec/execx.php',
|
|
|
|
'execx' => 'future/exec/execx.php',
|
2021-01-12 19:33:47 +01:00
|
|
|
'gitsprintf' => 'xsprintf/gitsprintf.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'head' => 'utils/utils.php',
|
|
|
|
'head_key' => 'utils/utils.php',
|
|
|
|
'hgsprintf' => 'xsprintf/hgsprintf.php',
|
|
|
|
'id' => 'utils/utils.php',
|
|
|
|
'idx' => 'utils/utils.php',
|
|
|
|
'idxv' => 'utils/utils.php',
|
|
|
|
'ifilter' => 'utils/utils.php',
|
|
|
|
'igroup' => 'utils/utils.php',
|
|
|
|
'ipull' => 'utils/utils.php',
|
|
|
|
'isort' => 'utils/utils.php',
|
|
|
|
'jsprintf' => 'xsprintf/jsprintf.php',
|
|
|
|
'last' => 'utils/utils.php',
|
|
|
|
'last_key' => 'utils/utils.php',
|
|
|
|
'ldap_sprintf' => 'xsprintf/ldapsprintf.php',
|
|
|
|
'mfilter' => 'utils/utils.php',
|
|
|
|
'mgroup' => 'utils/utils.php',
|
|
|
|
'mpull' => 'utils/utils.php',
|
|
|
|
'msort' => 'utils/utils.php',
|
|
|
|
'msortv' => 'utils/utils.php',
|
2020-06-30 15:35:27 +02:00
|
|
|
'msortv_internal' => 'utils/utils.php',
|
|
|
|
'msortv_natural' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'newv' => 'utils/utils.php',
|
|
|
|
'nonempty' => 'utils/utils.php',
|
|
|
|
'phlog' => 'error/phlog.php',
|
|
|
|
'pht' => 'internationalization/pht.php',
|
2022-05-12 19:54:55 +02:00
|
|
|
'pht_list' => 'internationalization/pht.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_build_http_querystring' => 'utils/utils.php',
|
|
|
|
'phutil_build_http_querystring_from_pairs' => 'utils/utils.php',
|
|
|
|
'phutil_censor_credentials' => 'utils/utils.php',
|
|
|
|
'phutil_console_confirm' => 'console/format.php',
|
|
|
|
'phutil_console_format' => 'console/format.php',
|
|
|
|
'phutil_console_get_terminal_width' => 'console/format.php',
|
|
|
|
'phutil_console_prompt' => 'console/format.php',
|
|
|
|
'phutil_console_require_tty' => 'console/format.php',
|
|
|
|
'phutil_console_select' => 'console/format.php',
|
|
|
|
'phutil_console_wrap' => 'console/format.php',
|
|
|
|
'phutil_count' => 'internationalization/pht.php',
|
|
|
|
'phutil_date_format' => 'utils/viewutils.php',
|
|
|
|
'phutil_decode_mime_header' => 'utils/utils.php',
|
|
|
|
'phutil_describe_type' => 'utils/utils.php',
|
2020-04-04 20:56:31 +02:00
|
|
|
'phutil_encode_log' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_error_listener_example' => 'error/phlog.php',
|
|
|
|
'phutil_escape_uri' => 'utils/utils.php',
|
|
|
|
'phutil_escape_uri_path_component' => 'utils/utils.php',
|
|
|
|
'phutil_fnmatch' => 'utils/utils.php',
|
|
|
|
'phutil_format_bytes' => 'utils/viewutils.php',
|
|
|
|
'phutil_format_relative_time' => 'utils/viewutils.php',
|
|
|
|
'phutil_format_relative_time_detailed' => 'utils/viewutils.php',
|
|
|
|
'phutil_format_units_generic' => 'utils/viewutils.php',
|
|
|
|
'phutil_fwrite_nonblocking_stream' => 'utils/utils.php',
|
|
|
|
'phutil_get_current_library_name' => 'init/lib/moduleutils.php',
|
|
|
|
'phutil_get_library_name_for_root' => 'init/lib/moduleutils.php',
|
|
|
|
'phutil_get_library_root' => 'init/lib/moduleutils.php',
|
|
|
|
'phutil_get_library_root_for_path' => 'init/lib/moduleutils.php',
|
|
|
|
'phutil_get_signal_name' => 'future/exec/execx.php',
|
|
|
|
'phutil_get_system_locale' => 'utils/utf8.php',
|
2020-04-12 17:30:53 +02:00
|
|
|
'phutil_glue' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_hashes_are_identical' => 'utils/utils.php',
|
|
|
|
'phutil_http_parameter_pair' => 'utils/utils.php',
|
|
|
|
'phutil_ini_decode' => 'utils/utils.php',
|
|
|
|
'phutil_is_hiphop_runtime' => 'utils/utils.php',
|
2020-04-12 23:11:30 +02:00
|
|
|
'phutil_is_interactive' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_is_natural_list' => 'utils/utils.php',
|
2020-02-15 03:22:43 +01:00
|
|
|
'phutil_is_noninteractive' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_is_system_locale_available' => 'utils/utf8.php',
|
|
|
|
'phutil_is_utf8' => 'utils/utf8.php',
|
|
|
|
'phutil_is_utf8_slowly' => 'utils/utf8.php',
|
|
|
|
'phutil_is_utf8_with_only_bmp_characters' => 'utils/utf8.php',
|
|
|
|
'phutil_is_windows' => 'utils/utils.php',
|
|
|
|
'phutil_json_decode' => 'utils/utils.php',
|
|
|
|
'phutil_json_encode' => 'utils/utils.php',
|
|
|
|
'phutil_load_library' => 'init/lib/moduleutils.php',
|
|
|
|
'phutil_loggable_string' => 'utils/utils.php',
|
|
|
|
'phutil_microseconds_since' => 'utils/utils.php',
|
2022-04-20 19:43:43 +02:00
|
|
|
'phutil_nonempty_scalar' => 'utils/utils.php',
|
|
|
|
'phutil_nonempty_string' => 'utils/utils.php',
|
|
|
|
'phutil_nonempty_stringlike' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_parse_bytes' => 'utils/viewutils.php',
|
2020-06-30 15:35:27 +02:00
|
|
|
'phutil_partition' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_passthru' => 'future/exec/execx.php',
|
|
|
|
'phutil_person' => 'internationalization/pht.php',
|
2021-02-17 21:42:09 +01:00
|
|
|
'phutil_preg_match' => 'utils/utils.php',
|
|
|
|
'phutil_preg_match_all' => 'utils/utils.php',
|
|
|
|
'phutil_raise_preg_exception' => 'utils/utils.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'phutil_register_library' => 'init/lib/core.php',
|
|
|
|
'phutil_register_library_map' => 'init/lib/core.php',
|
|
|
|
'phutil_set_system_locale' => 'utils/utf8.php',
|
|
|
|
'phutil_split_lines' => 'utils/utils.php',
|
|
|
|
'phutil_string_cast' => 'utils/utils.php',
|
|
|
|
'phutil_unescape_uri_path_component' => 'utils/utils.php',
|
|
|
|
'phutil_units' => 'utils/utils.php',
|
|
|
|
'phutil_utf8_console_strlen' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_convert' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_encode_codepoint' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_hard_wrap' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_hard_wrap_html' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_is_cjk' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_is_combining_character' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_strlen' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_strtolower' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_strtoupper' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_strtr' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8_ucwords' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8ize' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8v' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8v_codepoints' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8v_combine_characters' => 'utils/utf8.php',
|
|
|
|
'phutil_utf8v_combined' => 'utils/utf8.php',
|
|
|
|
'phutil_validate_json' => 'utils/utils.php',
|
|
|
|
'phutil_var_export' => 'utils/utils.php',
|
|
|
|
'ppull' => 'utils/utils.php',
|
|
|
|
'pregsprintf' => 'xsprintf/pregsprintf.php',
|
|
|
|
'tsprintf' => 'xsprintf/tsprintf.php',
|
|
|
|
'urisprintf' => 'xsprintf/urisprintf.php',
|
|
|
|
'vcsprintf' => 'xsprintf/csprintf.php',
|
|
|
|
'vjsprintf' => 'xsprintf/jsprintf.php',
|
|
|
|
'vurisprintf' => 'xsprintf/urisprintf.php',
|
|
|
|
'xhp_parser_node_constants' => 'parser/xhpast/parser_nodes.php',
|
|
|
|
'xhpast_parser_token_constants' => 'parser/xhpast/parser_tokens.php',
|
|
|
|
'xsprintf' => 'xsprintf/xsprintf.php',
|
|
|
|
'xsprintf_callback_example' => 'xsprintf/xsprintf.php',
|
|
|
|
'xsprintf_command' => 'xsprintf/csprintf.php',
|
2021-01-12 19:33:47 +01:00
|
|
|
'xsprintf_git' => 'xsprintf/gitsprintf.php',
|
2020-02-12 23:24:11 +01:00
|
|
|
'xsprintf_javascript' => 'xsprintf/jsprintf.php',
|
|
|
|
'xsprintf_ldap' => 'xsprintf/ldapsprintf.php',
|
|
|
|
'xsprintf_mercurial' => 'xsprintf/hgsprintf.php',
|
|
|
|
'xsprintf_regex' => 'xsprintf/pregsprintf.php',
|
|
|
|
'xsprintf_terminal' => 'xsprintf/tsprintf.php',
|
|
|
|
'xsprintf_uri' => 'xsprintf/urisprintf.php',
|
2011-01-10 00:22:25 +01:00
|
|
|
),
|
2014-07-17 23:34:59 +02:00
|
|
|
'xmap' => array(
|
2020-02-12 23:24:11 +01:00
|
|
|
'AASTNode' => 'Phobject',
|
|
|
|
'AASTNodeList' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Countable',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'AASTToken' => 'Phobject',
|
|
|
|
'AASTTree' => 'Phobject',
|
|
|
|
'AbstractDirectedGraph' => 'Phobject',
|
|
|
|
'AbstractDirectedGraphTestCase' => 'PhutilTestCase',
|
2015-11-23 22:19:35 +01:00
|
|
|
'ArcanistAbstractMethodBodyXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistAbstractMethodBodyXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-23 22:18:06 +01:00
|
|
|
'ArcanistAbstractPrivateMethodXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistAbstractPrivateMethodXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistAlias' => 'Phobject',
|
|
|
|
'ArcanistAliasEffect' => 'Phobject',
|
|
|
|
'ArcanistAliasEngine' => 'Phobject',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistAliasFunctionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistAliasFunctionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistAliasWorkflow' => 'ArcanistWorkflow',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistAliasesConfigOption' => 'ArcanistMultiSourceConfigOption',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistAmendWorkflow' => 'ArcanistArcWorkflow',
|
2020-02-15 03:22:43 +01:00
|
|
|
'ArcanistAnoidWorkflow' => 'ArcanistArcWorkflow',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistArcConfigurationEngineExtension' => 'ArcanistConfigurationEngineExtension',
|
|
|
|
'ArcanistArcToolset' => 'ArcanistToolset',
|
2020-02-13 23:30:22 +01:00
|
|
|
'ArcanistArcWorkflow' => 'ArcanistWorkflow',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistArrayCombineXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArrayCombineXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistArrayIndexSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArrayIndexSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistArraySeparatorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArraySeparatorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-08-10 22:58:28 +02:00
|
|
|
'ArcanistArrayValueXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistArrayValueXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistBaseCommitParser' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistBaseCommitParserTestCase' => 'PhutilTestCase',
|
2013-02-22 01:44:19 +01:00
|
|
|
'ArcanistBaseXHPASTLinter' => 'ArcanistFutureLinter',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistBinaryExpressionSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistBinaryExpressionSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-12-02 23:47:27 +01:00
|
|
|
'ArcanistBinaryNumericScalarCasingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistBinaryNumericScalarCasingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistBlacklistedFunctionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistBlacklistedFunctionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2016-06-09 19:48:32 +02:00
|
|
|
'ArcanistBlindlyTrustHTTPEngineExtension' => 'PhutilHTTPEngineExtension',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistBookmarksWorkflow' => 'ArcanistMarkersWorkflow',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistBoolConfigOption' => 'ArcanistSingleSourceConfigOption',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistBraceFormattingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistBraceFormattingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistBranchesWorkflow' => 'ArcanistMarkersWorkflow',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistBrowseCommitHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-04-10 15:36:47 +02:00
|
|
|
'ArcanistBrowseCommitURIHardpointQuery' => 'ArcanistBrowseURIHardpointQuery',
|
|
|
|
'ArcanistBrowseObjectNameURIHardpointQuery' => 'ArcanistBrowseURIHardpointQuery',
|
|
|
|
'ArcanistBrowsePathURIHardpointQuery' => 'ArcanistBrowseURIHardpointQuery',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistBrowseRef' => 'ArcanistRef',
|
2020-04-10 15:36:47 +02:00
|
|
|
'ArcanistBrowseRefInspector' => 'ArcanistRefInspector',
|
|
|
|
'ArcanistBrowseRevisionURIHardpointQuery' => 'ArcanistBrowseURIHardpointQuery',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistBrowseURIHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistBrowseURIRef' => 'ArcanistRef',
|
2020-04-08 19:24:46 +02:00
|
|
|
'ArcanistBrowseWorkflow' => 'ArcanistArcWorkflow',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistBuildBuildplanHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistBuildPlanRef' => 'ArcanistRef',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistBuildPlanSymbolRef' => 'ArcanistSimpleSymbolRef',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistBuildRef' => 'ArcanistRef',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistBuildSymbolRef' => 'ArcanistSimpleSymbolRef',
|
|
|
|
'ArcanistBuildableBuildsHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistBuildableRef' => 'ArcanistRef',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistBuildableSymbolRef' => 'ArcanistSimpleSymbolRef',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistBundle' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistBundleTestCase' => 'PhutilTestCase',
|
2013-08-23 20:52:44 +02:00
|
|
|
'ArcanistCSSLintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistCSSLintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
Allow `arc` to identify repositories without "project_id"
Summary:
Ref T4343. Continues the process of reducing the prominence of Arcanist Projects. Primarily:
- Query Phabricator to identify the working copy based on explicit configuration, or guess based on heuristics.
- Enhance `arc which` to explain the process to the user.
- The `project_id` key is no longer required in `.arcconfig`.
Minor/cleanup changes:
- Rename `project_id` to `project.name` (consistency, clarity).
- Rename `conduit_uri` to `phabricator.uri` (consistency, clairty).
- These both need documentation updates.
- Add `repository.callsign` to explicitly bind to a repository.
- Updated `.arcconfig` for the new values.
- Fix a unit test which broke a while ago when we fixed a rare definition of "unstaged".
- Make `getRepositoryUUID()` generic so we can get rid of one `instanceof`.
Test Plan:
- Ran `arc which`.
- Ran `arc diff`.
- This doesn't really change anything, so the only real risk is version compatibility breaks. This //does// introduce such a break, but the window is very narrow: if you upgrade `arc` after this commit, and try to diff against a Phabricator which was updated after yesterday (D8068) but before D8072 lands, the lookup will work so we'll add `repositoryPHID` to the `differential.creatediff` call, but it won't exist in Phabricator yet. This window is so narrow that I'm not going to try to fix it, as I'd guess there is a significant chance that no users will be affected. I don't see a clever way to fix it that doesn't involve a lot of work, either.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T4343
Differential Revision: https://secure.phabricator.com/D8073
2014-01-27 00:31:30 +01:00
|
|
|
'ArcanistCSharpLinter' => 'ArcanistLinter',
|
2020-04-12 23:11:30 +02:00
|
|
|
'ArcanistCallConduitWorkflow' => 'ArcanistArcWorkflow',
|
2015-08-05 22:57:46 +02:00
|
|
|
'ArcanistCallParenthesesXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCallParenthesesXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistCallTimePassByReferenceXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCallTimePassByReferenceXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2012-05-30 23:22:59 +02:00
|
|
|
'ArcanistCapabilityNotSupportedException' => 'Exception',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistCastSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCastSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistCheckstyleXMLLintRenderer' => 'ArcanistLintRenderer',
|
2014-05-19 01:57:08 +02:00
|
|
|
'ArcanistChmodLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistChmodLinterTestCase' => 'ArcanistLinterTestCase',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistClassExtendsObjectXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistClassExtendsObjectXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistClassFilenameMismatchXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-23 22:18:38 +01:00
|
|
|
'ArcanistClassMustBeDeclaredAbstractXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistClassMustBeDeclaredAbstractXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistClassNameLiteralXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistClassNameLiteralXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistCloseRevisionWorkflow' => 'ArcanistWorkflow',
|
2014-05-15 18:18:24 +02:00
|
|
|
'ArcanistClosureLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistClosureLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2014-05-17 06:58:01 +02:00
|
|
|
'ArcanistCoffeeLintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistCoffeeLintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2020-02-17 18:32:30 +01:00
|
|
|
'ArcanistCommand' => 'Phobject',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistCommentRemover' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistCommentRemoverTestCase' => 'PhutilTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistCommentSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistCommentStyleXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistCommentStyleXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistCommitGraph' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphPartition' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphPartitionQuery' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphQuery' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphSet' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphSetQuery' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphSetTreeView' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphSetView' => 'Phobject',
|
|
|
|
'ArcanistCommitGraphTestCase' => 'PhutilTestCase',
|
|
|
|
'ArcanistCommitNode' => 'Phobject',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistCommitRef' => 'ArcanistRef',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistCommitSymbolRef' => 'ArcanistSymbolRef',
|
2020-04-12 00:27:41 +02:00
|
|
|
'ArcanistCommitSymbolRefInspector' => 'ArcanistRefInspector',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistCommitUpstreamHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistCommitWorkflow' => 'ArcanistWorkflow',
|
2015-02-09 20:57:10 +01:00
|
|
|
'ArcanistCompilerLintRenderer' => 'ArcanistLintRenderer',
|
2015-08-19 13:39:11 +02:00
|
|
|
'ArcanistComposerLinter' => 'ArcanistLinter',
|
2015-02-09 20:57:17 +01:00
|
|
|
'ArcanistComprehensiveLintEngine' => 'ArcanistLintEngine',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistConcatenationOperatorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistConcatenationOperatorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-07-01 15:12:09 +02:00
|
|
|
'ArcanistConduitAuthenticationException' => 'Exception',
|
Implement Conduit login prompt behavior as a pure FutureProxy, not a Future-like object
Summary:
See PHI1802. Currently, we can't raise a "you must login" error in a generic way at the beginning of a workflow because we don't know if a workflow needs credentials or not.
For example, "arc help" does not need credentials but "arc diff" does.
Additionally, some actual Conduit calls do not need credentials ("conduit.ping", "conduit.getcapabilities") and others do.
Although I'd like to simplify this eventually and move away from anonymous/unauthenticated "arc", this isn't trivial today. It's also possible for third-party code to add authenticated calls to "arc help", etc., so even if we could execute these tests upfront it's not obvious we'd want to.
So, for now, we raise "you must login" at runtime, when we receive an authentication error from Conduit.
This got implemented for Toolsets in a well-intentioned but not-so-great way somewhere in wilds/experimental, with an "ArcanistConduitCall" that behaves a bit like a future but is not really a future. This implementation made more sense when ConduitEngine was serving as a future engine, and FutureProxy could not rewrite exceptions.
After the Toolsets code was first written, ConduitEngine has stopped serving as a future engine (this is now in "HardpointEngine"). Since HardpointEngine needs a real future, this "show the user a login message" code gets bypassed. This results in user-visible raw authentication exceptions on some workflows:
```
[2020-06-30 21:39:53] EXCEPTION: (ConduitClientException) ERR-INVALID-SESSION: Session key is not present. at [<arcanist>/src/conduit/ConduitFuture.php:76]
```
To fix this:
- Allow FutureProxy to rewrite exceptions (see D21383).
- Implement "ArcanistConduitCall" as a FutureProxy, not a future-like object.
- Collapse the mixed-mode future/not-quite-a-future APIs into a single "real future" API.
Test Plan:
- Created a paste with "echo hi | arc paste --".
- Uploaded a file with "arc upload".
- Called a raw method with "echo {} | arc call-conduit conduit.ping --".
- Invoked hardpoint behavior with "arc branches".
- Grepped for calls to either "resolveCall()" method, found none.
- Grepped for calls to "newCall()", found none.
- Grepped for "ArcanistConduitCall", found no references.
Then:
- Removed my "~/.arcrc", ran "arc land", got a sensible and human-readable (but currently ugly) exception instead of a raw authentication stack trace.
Differential Revision: https://secure.phabricator.com/D21384
2020-07-01 14:08:06 +02:00
|
|
|
'ArcanistConduitCallFuture' => 'FutureProxy',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistConduitEngine' => 'Phobject',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistConduitException' => 'Exception',
|
|
|
|
'ArcanistConfigOption' => 'Phobject',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistConfiguration' => 'Phobject',
|
Lay groundwork for configuration-driven linters
Summary:
Ref T2039. That task has a bunch of discussion, but basically we do a poor job of serving the midrange of lint configuration right now.
If you have something simple, the default linters work.
If you have something complex, building your own engine lets you do whatever you want.
But many users want something in between, which isn't really well accommodated. The idea is to let you write a `.arclint` file, which looks something like this:
{
"linters" : {
"css" : {
"type" : "csslint",
"include" : "(\.css$)",
"exclude" : "(^externals/)",
"bin" : "/usr/local/bin/csslint"
},
"js" : {
"type" : "jshint",
"include" : "(\.js$)",
"exclude" : "(^externals/)",
"bin" : "support/bin/jshint",
"interpreter" : "/usr/local/bin/node"
}
}
}
...which will provide a bunch of common options around lint severity, interpreter and binary locaitons, included and excluded files, etc.
This implements some basics, and very rough support in the Filename linter.
Test Plan:
Generated a `.arclint` file and saw it apply filename lint correctly. Used `debug` mode and tried invalid regexps.
{
"debug" : true,
"linters" : {
"filename" : {
"type" : "filename",
"exclude" : ["@^externals/@"]
}
}
}
Next steps include:
- Provide an external linter archetype (T3186) and expose a common set of configuration here ("bin", "interpreter", "flags", "severity").
- Provide a `.arcunit` file which works similarly (it can probably be simpler).
Reviewers: btrahan, Firehed
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2039
Differential Revision: https://secure.phabricator.com/D6797
2013-08-23 01:02:16 +02:00
|
|
|
'ArcanistConfigurationDrivenLintEngine' => 'ArcanistLintEngine',
|
2015-08-10 22:54:15 +02:00
|
|
|
'ArcanistConfigurationDrivenUnitTestEngine' => 'ArcanistUnitTestEngine',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistConfigurationEngine' => 'Phobject',
|
|
|
|
'ArcanistConfigurationEngineExtension' => 'Phobject',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistConfigurationManager' => 'Phobject',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistConfigurationSource' => 'Phobject',
|
|
|
|
'ArcanistConfigurationSourceList' => 'Phobject',
|
|
|
|
'ArcanistConfigurationSourceValue' => 'Phobject',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistConsoleLintRenderer' => 'ArcanistLintRenderer',
|
2017-08-31 17:13:19 +02:00
|
|
|
'ArcanistConsoleLintRendererTestCase' => 'PhutilTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistConstructorParenthesesXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistConstructorParenthesesXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2018-12-22 14:30:54 +01:00
|
|
|
'ArcanistContinueInsideSwitchXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistContinueInsideSwitchXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistControlStatementSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistControlStatementSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistCoverWorkflow' => 'ArcanistWorkflow',
|
2014-05-12 13:30:36 +02:00
|
|
|
'ArcanistCppcheckLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistCppcheckLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2014-05-10 10:32:53 +02:00
|
|
|
'ArcanistCpplintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistCpplintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-12-08 20:56:48 +01:00
|
|
|
'ArcanistCurlyBraceArrayIndexXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistCurlyBraceArrayIndexXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-07-22 22:43:35 +02:00
|
|
|
'ArcanistDeclarationParenthesesXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDeclarationParenthesesXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDefaultParametersXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDefaultParametersXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistDefaultsConfigurationSource' => 'ArcanistDictionaryConfigurationSource',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistDeprecationXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDeprecationXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistDictionaryConfigurationSource' => 'ArcanistConfigurationSource',
|
2018-05-10 18:43:16 +02:00
|
|
|
'ArcanistDiffByteSizeException' => 'Exception',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistDiffChange' => 'Phobject',
|
|
|
|
'ArcanistDiffChangeType' => 'Phobject',
|
|
|
|
'ArcanistDiffHunk' => 'Phobject',
|
|
|
|
'ArcanistDiffParser' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistDiffParserTestCase' => 'PhutilTestCase',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistDiffUtils' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistDiffUtilsTestCase' => 'PhutilTestCase',
|
2020-04-28 20:10:33 +02:00
|
|
|
'ArcanistDiffVectorNode' => 'Phobject',
|
|
|
|
'ArcanistDiffVectorTree' => 'Phobject',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistDiffWorkflow' => 'ArcanistWorkflow',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistDifferentialCommitMessage' => 'Phobject',
|
2012-05-30 23:22:59 +02:00
|
|
|
'ArcanistDifferentialCommitMessageParserException' => 'Exception',
|
2013-10-17 23:59:04 +02:00
|
|
|
'ArcanistDifferentialDependencyGraph' => 'AbstractDirectedGraph',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistDifferentialRevisionHash' => 'Phobject',
|
|
|
|
'ArcanistDifferentialRevisionStatus' => 'Phobject',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDoubleQuoteXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDoubleQuoteXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-04-12 23:45:21 +02:00
|
|
|
'ArcanistDownloadWorkflow' => 'ArcanistArcWorkflow',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDuplicateKeysInArrayXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDuplicateKeysInArrayXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDuplicateSwitchCaseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDuplicateSwitchCaseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistDynamicDefineXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistDynamicDefineXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2021-12-09 22:51:41 +01:00
|
|
|
'ArcanistEachUseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistEachUseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistElseIfUsageXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistElseIfUsageXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-09-01 11:20:11 +02:00
|
|
|
'ArcanistEmptyFileXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistEmptyStatementXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistEmptyStatementXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2011-11-10 22:47:45 +01:00
|
|
|
'ArcanistEventType' => 'PhutilEventType',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistExitExpressionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistExitExpressionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistExportWorkflow' => 'ArcanistWorkflow',
|
2013-08-23 20:52:44 +02:00
|
|
|
'ArcanistExternalLinter' => 'ArcanistFutureLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistExternalLinterTestCase' => 'ArcanistLinterTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistExtractUseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistExtractUseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistFileConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
|
2015-05-27 19:25:53 +02:00
|
|
|
'ArcanistFileDataRef' => 'Phobject',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistFileRef' => 'ArcanistRef',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistFileSymbolRef' => 'ArcanistSimpleSymbolRef',
|
2015-05-27 19:25:53 +02:00
|
|
|
'ArcanistFileUploader' => 'Phobject',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistFilenameLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistFilenameLinterTestCase' => 'ArcanistLinterTestCase',
|
2020-04-08 16:18:46 +02:00
|
|
|
'ArcanistFilesystemAPI' => 'ArcanistRepositoryAPI',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistFilesystemConfigurationSource' => 'ArcanistDictionaryConfigurationSource',
|
2020-04-08 16:18:46 +02:00
|
|
|
'ArcanistFilesystemWorkingCopy' => 'ArcanistWorkingCopy',
|
2013-08-23 20:52:54 +02:00
|
|
|
'ArcanistFlake8Linter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistFlake8LinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistFormattedStringXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistFormattedStringXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-29 21:32:43 +01:00
|
|
|
'ArcanistFunctionCallShouldBeTypeCastXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistFunctionCallShouldBeTypeCastXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2013-02-15 01:16:08 +01:00
|
|
|
'ArcanistFutureLinter' => 'ArcanistLinter',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistGeneratedLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistGeneratedLinterTestCase' => 'ArcanistLinterTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistGetConfigWorkflow' => 'ArcanistWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistGitAPI' => 'ArcanistRepositoryAPI',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistGitCommitGraphQuery' => 'ArcanistCommitGraphQuery',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistGitCommitMessageHardpointQuery' => 'ArcanistWorkflowGitHardpointQuery',
|
2020-04-12 00:27:41 +02:00
|
|
|
'ArcanistGitCommitSymbolCommitHardpointQuery' => 'ArcanistWorkflowGitHardpointQuery',
|
2015-10-28 01:49:01 +01:00
|
|
|
'ArcanistGitLandEngine' => 'ArcanistLandEngine',
|
2020-06-05 02:27:29 +02:00
|
|
|
'ArcanistGitLocalState' => 'ArcanistRepositoryLocalState',
|
2020-06-07 16:49:30 +02:00
|
|
|
'ArcanistGitRawCommit' => 'Phobject',
|
|
|
|
'ArcanistGitRawCommitTestCase' => 'PhutilTestCase',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistGitRepositoryMarkerQuery' => 'ArcanistRepositoryMarkerQuery',
|
2020-06-30 21:02:37 +02:00
|
|
|
'ArcanistGitRepositoryRemoteQuery' => 'ArcanistRepositoryRemoteQuery',
|
2015-10-28 19:30:57 +01:00
|
|
|
'ArcanistGitUpstreamPath' => 'Phobject',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistGitWorkEngine' => 'ArcanistWorkEngine',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistGitWorkingCopy' => 'ArcanistWorkingCopy',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistGitWorkingCopyRevisionHardpointQuery' => 'ArcanistWorkflowGitHardpointQuery',
|
2015-08-13 23:37:48 +02:00
|
|
|
'ArcanistGlobalVariableXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistGlobalVariableXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-05-23 16:59:57 +02:00
|
|
|
'ArcanistGoLintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistGoLintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-01-04 20:45:14 +01:00
|
|
|
'ArcanistGoTestResultParser' => 'ArcanistTestResultParser',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistGoTestResultParserTestCase' => 'PhutilTestCase',
|
2020-06-15 16:58:08 +02:00
|
|
|
'ArcanistGridCell' => 'Phobject',
|
|
|
|
'ArcanistGridColumn' => 'Phobject',
|
|
|
|
'ArcanistGridRow' => 'Phobject',
|
|
|
|
'ArcanistGridView' => 'Phobject',
|
2014-08-13 04:49:02 +02:00
|
|
|
'ArcanistHLintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistHLintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2020-04-08 17:38:52 +02:00
|
|
|
'ArcanistHardpoint' => 'Phobject',
|
|
|
|
'ArcanistHardpointEngine' => 'Phobject',
|
|
|
|
'ArcanistHardpointFutureList' => 'Phobject',
|
|
|
|
'ArcanistHardpointList' => 'Phobject',
|
|
|
|
'ArcanistHardpointObject' => 'Phobject',
|
|
|
|
'ArcanistHardpointQuery' => 'Phobject',
|
|
|
|
'ArcanistHardpointRequest' => 'Phobject',
|
|
|
|
'ArcanistHardpointRequestList' => 'Phobject',
|
|
|
|
'ArcanistHardpointTask' => 'Phobject',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistHardpointTaskResult' => 'Phobject',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistHelpWorkflow' => 'ArcanistWorkflow',
|
2015-12-01 21:41:37 +01:00
|
|
|
'ArcanistHexadecimalNumericScalarCasingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistHexadecimalNumericScalarCasingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2012-06-08 03:23:57 +02:00
|
|
|
'ArcanistHgClientChannel' => 'PhutilProtocolChannel',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistHgProxyClient' => 'Phobject',
|
|
|
|
'ArcanistHgProxyServer' => 'Phobject',
|
2012-06-08 03:23:57 +02:00
|
|
|
'ArcanistHgServerChannel' => 'PhutilProtocolChannel',
|
2021-11-22 14:19:19 +01:00
|
|
|
'ArcanistHostMemorySnapshot' => 'Phobject',
|
|
|
|
'ArcanistHostMemorySnapshotTestCase' => 'PhutilTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistImplicitConstructorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistImplicitConstructorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistImplicitFallthroughXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistImplicitFallthroughXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistImplicitVisibilityXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistImplicitVisibilityXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2019-10-17 17:27:29 +02:00
|
|
|
'ArcanistImplodeArgumentOrderXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistImplodeArgumentOrderXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-08-13 23:41:41 +02:00
|
|
|
'ArcanistInlineHTMLXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInlineHTMLXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInnerFunctionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInnerFunctionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistInspectWorkflow' => 'ArcanistArcWorkflow',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistInstallCertificateWorkflow' => 'ArcanistWorkflow',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInstanceOfOperatorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInstanceofOperatorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-25 21:21:29 +01:00
|
|
|
'ArcanistInterfaceAbstractMethodXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistInterfaceAbstractMethodXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-25 21:12:00 +01:00
|
|
|
'ArcanistInterfaceMethodBodyXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistInterfaceMethodBodyXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInvalidDefaultParameterXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInvalidDefaultParameterXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistInvalidModifiersXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistInvalidModifiersXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-12-02 22:11:22 +01:00
|
|
|
'ArcanistInvalidOctalNumericScalarXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistInvalidOctalNumericScalarXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-12-22 22:42:00 +01:00
|
|
|
'ArcanistIsAShouldBeInstanceOfXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistIsAShouldBeInstanceOfXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-05-05 23:22:26 +02:00
|
|
|
'ArcanistJSHintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistJSHintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2014-05-06 05:15:35 +02:00
|
|
|
'ArcanistJSONLintLinter' => 'ArcanistExternalLinter',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistJSONLintRenderer' => 'ArcanistLintRenderer',
|
2014-06-21 22:41:22 +02:00
|
|
|
'ArcanistJSONLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistJSONLinterTestCase' => 'ArcanistLinterTestCase',
|
2014-06-16 22:40:36 +02:00
|
|
|
'ArcanistJscsLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistJscsLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistKeywordCasingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistKeywordCasingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLambdaFuncFunctionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLambdaFuncFunctionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistLandCommit' => 'Phobject',
|
|
|
|
'ArcanistLandCommitSet' => 'Phobject',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistLandEngine' => 'ArcanistWorkflowEngine',
|
2020-07-08 22:35:18 +02:00
|
|
|
'ArcanistLandPushFailureException' => 'Exception',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistLandSymbol' => 'Phobject',
|
|
|
|
'ArcanistLandTarget' => 'Phobject',
|
|
|
|
'ArcanistLandWorkflow' => 'ArcanistArcWorkflow',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLanguageConstructParenthesesXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLanguageConstructParenthesesXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-05-06 15:50:44 +02:00
|
|
|
'ArcanistLesscLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistLesscLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2020-02-13 23:38:36 +01:00
|
|
|
'ArcanistLiberateWorkflow' => 'ArcanistArcWorkflow',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistLintEngine' => 'Phobject',
|
|
|
|
'ArcanistLintMessage' => 'Phobject',
|
2017-08-31 18:14:07 +02:00
|
|
|
'ArcanistLintMessageTestCase' => 'PhutilTestCase',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistLintPatcher' => 'Phobject',
|
|
|
|
'ArcanistLintRenderer' => 'Phobject',
|
|
|
|
'ArcanistLintResult' => 'Phobject',
|
|
|
|
'ArcanistLintSeverity' => 'Phobject',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistLintWorkflow' => 'ArcanistWorkflow',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistLinter' => 'Phobject',
|
2015-11-12 21:07:52 +01:00
|
|
|
'ArcanistLinterStandard' => 'Phobject',
|
|
|
|
'ArcanistLinterStandardTestCase' => 'PhutilTestCase',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistLinterTestCase' => 'PhutilTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistLintersWorkflow' => 'ArcanistWorkflow',
|
2015-08-12 05:22:37 +02:00
|
|
|
'ArcanistListAssignmentXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistListAssignmentXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistListConfigOption' => 'ArcanistSingleSourceConfigOption',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistListWorkflow' => 'ArcanistWorkflow',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistLocalConfigurationSource' => 'ArcanistWorkingCopyConfigurationSource',
|
|
|
|
'ArcanistLogEngine' => 'Phobject',
|
|
|
|
'ArcanistLogMessage' => 'Phobject',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLogicalOperatorsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLogicalOperatorsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-30 21:07:23 +02:00
|
|
|
'ArcanistLookWorkflow' => 'ArcanistArcWorkflow',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistLowercaseFunctionsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistLowercaseFunctionsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistMarkerRef' => 'ArcanistRef',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistMarkersWorkflow' => 'ArcanistArcWorkflow',
|
Basic Mercurial support for Arcanist
Summary:
There's a lot of ground left to cover but this makes "arc diff" work (on one
trivial diff) in my sandbox, at least, and supports parsing of Mercurial native
diffs (which are unified + a custom header). Piles of missing features, still.
Some of this is blocked by me not understanding the mercurial model well yet.
This is also a really good opportunity for cleanup (especially, reducing the
level of "instanceof" in the diff workflow), I'll try to do a bunch of that in
followup diffs.
Test Plan: Ran "arc diff" in a mercurial repository, got a diff out of it.
Reviewed By: aran
Reviewers: Makinde, jungejason, tuomaspelkonen, aran, codeblock
CC: aran, epriestley, codeblock, fratrik
Differential Revision: 792
2011-08-09 18:00:29 +02:00
|
|
|
'ArcanistMercurialAPI' => 'ArcanistRepositoryAPI',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistMercurialCommitGraphQuery' => 'ArcanistCommitGraphQuery',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistMercurialCommitMessageHardpointQuery' => 'ArcanistWorkflowMercurialHardpointQuery',
|
2021-09-04 06:46:12 +02:00
|
|
|
'ArcanistMercurialCommitSymbolCommitHardpointQuery' => 'ArcanistWorkflowMercurialHardpointQuery',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistMercurialLandEngine' => 'ArcanistLandEngine',
|
|
|
|
'ArcanistMercurialLocalState' => 'ArcanistRepositoryLocalState',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistMercurialParser' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistMercurialParserTestCase' => 'PhutilTestCase',
|
2020-06-08 17:32:03 +02:00
|
|
|
'ArcanistMercurialRepositoryMarkerQuery' => 'ArcanistRepositoryMarkerQuery',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistMercurialRepositoryRemoteQuery' => 'ArcanistRepositoryRemoteQuery',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistMercurialWorkEngine' => 'ArcanistWorkEngine',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistMercurialWorkingCopy' => 'ArcanistWorkingCopy',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistMercurialWorkingCopyRevisionHardpointQuery' => 'ArcanistWorkflowMercurialHardpointQuery',
|
2013-02-20 23:19:55 +01:00
|
|
|
'ArcanistMergeConflictLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistMergeConflictLinterTestCase' => 'ArcanistLinterTestCase',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistMessageRevisionHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-02-15 03:22:43 +01:00
|
|
|
'ArcanistMissingArgumentTerminatorException' => 'Exception',
|
2015-01-06 12:45:44 +01:00
|
|
|
'ArcanistMissingLinterException' => 'Exception',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistModifierOrderingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistModifierOrderingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistMultiSourceConfigOption' => 'ArcanistConfigOption',
|
2015-11-25 21:32:01 +01:00
|
|
|
'ArcanistNamespaceFirstStatementXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistNamespaceFirstStatementXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistNamingConventionsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistNamingConventionsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-19 09:31:45 +01:00
|
|
|
'ArcanistNestedNamespacesXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistNestedNamespacesXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-08-30 22:49:29 +02:00
|
|
|
'ArcanistNewlineAfterOpenTagXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistNewlineAfterOpenTagXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistNoEffectException' => 'ArcanistUsageException',
|
|
|
|
'ArcanistNoEngineException' => 'ArcanistUsageException',
|
2011-02-25 02:59:49 +01:00
|
|
|
'ArcanistNoLintLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistNoLintLinterTestCase' => 'ArcanistLinterTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistNoParentScopeXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistNoParentScopeXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistNoURIConduitException' => 'ArcanistConduitException',
|
2021-05-30 10:20:37 +02:00
|
|
|
'ArcanistNonblockingGuard' => 'Phobject',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistNoneLintRenderer' => 'ArcanistLintRenderer',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistObjectListHardpoint' => 'ArcanistHardpoint',
|
2015-08-05 23:14:38 +02:00
|
|
|
'ArcanistObjectOperatorSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistObjectOperatorSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2013-08-23 20:52:44 +02:00
|
|
|
'ArcanistPEP8Linter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistPEP8LinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPCloseTagXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2017-07-22 04:02:01 +02:00
|
|
|
'ArcanistPHPCloseTagXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPCompatibilityXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPCompatibilityXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPEchoTagXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPEchoTagXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPOpenTagXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPOpenTagXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPHPShortTagXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPHPShortTagXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-12-22 22:39:44 +01:00
|
|
|
'ArcanistPaamayimNekudotayimSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistPaamayimNekudotayimSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-18 22:58:03 +01:00
|
|
|
'ArcanistParentMemberReferenceXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistParentMemberReferenceXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistParenthesesSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistParenthesesSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-08-13 23:44:19 +02:00
|
|
|
'ArcanistParseStrUseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistParseStrUseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2021-02-03 23:25:59 +01:00
|
|
|
'ArcanistPartialCatchXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistPartialCatchXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistPasteRef' => 'ArcanistRef',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistPasteSymbolRef' => 'ArcanistSimpleSymbolRef',
|
|
|
|
'ArcanistPasteWorkflow' => 'ArcanistArcWorkflow',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistPatchWorkflow' => 'ArcanistWorkflow',
|
2014-08-28 02:29:31 +02:00
|
|
|
'ArcanistPhpLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistPhpLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
Support PHPCS as a `.arclint` linter
Summary:
Ref T3186. Ref T2039. Ref T3771. A few effects here:
# Expose PHPCS as a `.arclint` linter.
# Turn PHPCS into an ArcanistExternalLinter linter.
# Add test coverage for PHPCS.
# Add a `severity.rules` option to `.arclint`. Some linters have very explicit builtin severities ("error", "warning") but their meanings are different from how arc interprets these terms. For example, PHPCS raises "wrong indentation level" as an "error". You can already use the "severity" map to adjust individual rules, but if you want to adjust an entire linter it's currently difficult. This rule map makes it easy. There's substantial precedent for this in other linters, notably all the Python linters.
For `severity.rules`, for example, this will turn all PHPCS "errors" into warnings, and all of its warnings into advice:
"severity.rules" : {
"(^PHPCS\\.E\\.)" : "warning",
"(^PHPCS\\.W\\.)" : "advice"
}
The user can use `severity` (or more rules) to get additional granularity adjustments if they desire.
Test Plan: https://github.com/epriestley/arclint-examples/commit/5bb919bc3a684d6654dcc28622de9a29ec08307d
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, ajtrichards
Maniphest Tasks: T2039, T3186, T3771
Differential Revision: https://secure.phabricator.com/D6830
2013-08-29 15:47:27 +02:00
|
|
|
'ArcanistPhpcsLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistPhpcsLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-01-04 20:45:14 +01:00
|
|
|
'ArcanistPhpunitTestResultParser' => 'ArcanistTestResultParser',
|
2012-05-30 16:25:09 +02:00
|
|
|
'ArcanistPhutilLibraryLinter' => 'ArcanistLinter',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistPhutilWorkflow' => 'PhutilArgumentWorkflow',
|
2015-11-12 21:07:52 +01:00
|
|
|
'ArcanistPhutilXHPASTLinterStandard' => 'ArcanistLinterStandard',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistPlusOperatorOnStringsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistPlusOperatorOnStringsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2022-04-22 06:15:00 +02:00
|
|
|
'ArcanistProductNameLiteralXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistProjectConfigurationSource' => 'ArcanistWorkingCopyConfigurationSource',
|
|
|
|
'ArcanistPrompt' => 'Phobject',
|
2020-06-08 14:03:18 +02:00
|
|
|
'ArcanistPromptResponse' => 'Phobject',
|
|
|
|
'ArcanistPromptsConfigOption' => 'ArcanistMultiSourceConfigOption',
|
2020-04-11 19:18:31 +02:00
|
|
|
'ArcanistPromptsWorkflow' => 'ArcanistWorkflow',
|
2015-12-02 23:48:35 +01:00
|
|
|
'ArcanistPublicPropertyXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistPublicPropertyXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-05-06 05:42:40 +02:00
|
|
|
'ArcanistPuppetLintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistPuppetLintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2014-05-06 03:58:13 +02:00
|
|
|
'ArcanistPyFlakesLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistPyFlakesLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
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
2015-05-14 09:49:24 +02:00
|
|
|
'ArcanistPyLintLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistPyLintLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistRaggedClassTreeEdgeXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistRaggedClassTreeEdgeXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-04-11 15:16:22 +02:00
|
|
|
'ArcanistRef' => 'ArcanistHardpointObject',
|
2020-04-08 21:52:41 +02:00
|
|
|
'ArcanistRefInspector' => 'Phobject',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistRefView' => array(
|
|
|
|
'Phobject',
|
|
|
|
'ArcanistTerminalStringInterface',
|
|
|
|
),
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistRemoteRef' => 'ArcanistRef',
|
2020-06-30 20:55:55 +02:00
|
|
|
'ArcanistRemoteRefInspector' => 'ArcanistRefInspector',
|
2020-06-30 22:03:20 +02:00
|
|
|
'ArcanistRemoteRepositoryRefsHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistRepositoryAPI' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistRepositoryAPIMiscTestCase' => 'PhutilTestCase',
|
|
|
|
'ArcanistRepositoryAPIStateTestCase' => 'PhutilTestCase',
|
2020-06-05 02:27:29 +02:00
|
|
|
'ArcanistRepositoryLocalState' => 'Phobject',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistRepositoryMarkerQuery' => 'ArcanistRepositoryQuery',
|
|
|
|
'ArcanistRepositoryQuery' => 'Phobject',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistRepositoryRef' => 'ArcanistRef',
|
2020-06-09 15:10:35 +02:00
|
|
|
'ArcanistRepositoryRemoteQuery' => 'ArcanistRepositoryQuery',
|
2020-06-30 19:43:39 +02:00
|
|
|
'ArcanistRepositoryURINormalizer' => 'Phobject',
|
|
|
|
'ArcanistRepositoryURINormalizerTestCase' => 'PhutilTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistReusedAsIteratorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistReusedAsIteratorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistReusedIteratorReferenceXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistReusedIteratorReferenceXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistReusedIteratorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistReusedIteratorXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-04 18:42:50 +02:00
|
|
|
'ArcanistRevisionAuthorHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistRevisionBuildableHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistRevisionCommitMessageHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-06-04 19:14:05 +02:00
|
|
|
'ArcanistRevisionParentRevisionsHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistRevisionRef' => 'ArcanistRef',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistRevisionRefSource' => 'Phobject',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistRevisionSymbolRef' => 'ArcanistSimpleSymbolRef',
|
Added RuboCop linter
Test Plan:
Add the following JSON to your `.arclint`:
```lang=json
"rubocop": {
"type": "rubocop",
"include": "(\\.rb$)"
}
```
Then, add a ruby file with errors, for instance:
```lang=ruby
def hello()
puts 'world'
end
```
Run `arc lint`. It should come up with something along the line of: "Omit the parentheses in defs when the method doesn't accept any arguments."
Reviewers: joshuaspence, remon, #blessed_reviewers, epriestley
Reviewed By: joshuaspence, #blessed_reviewers, epriestley
Subscribers: reu, calfzhou, jjooss, cburroughs, chad, Korvin, epriestley
Differential Revision: https://secure.phabricator.com/D10738
2015-04-06 18:11:06 +02:00
|
|
|
'ArcanistRuboCopLinter' => 'ArcanistExternalLinter',
|
|
|
|
'ArcanistRuboCopLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
Ready more linters and linter functions for .arclint
Summary:
Ref T3186. Ref T2039. Continues work on readying linters for `.arclint`.
- **Ruby**: Make this an ExternalLinter.
- **Priority**: Currently, linters have an implicit "correct" order (notably, the "NoLint" linter needs to run before other linters). Make this explicit by introducing `getLinterPriority()`.
- **Binaries**: Currently, linters manually reject binary files. Instead, reject binary files by default (linters can override this if they do want to lint binary files).
- **Deleted Files**: Currently, linters manually reject deleted files (usually in engines). Instead, reject deleted files by default (linters can override this).
- **Severity**: Move this `.arclint` config option up to top level.
- **willLintPaths()**: This method is abstract, but almost all linters provide a trivial implementation. Provide a trivial implementation in the base class.
- **getLintSeverityMap()/getLintNameMap()**: A bunch of linters have empty implementations; these are redundant. Remove them.
- **Spelling**: clean up some dead / test-only / unconventional code.
- **`.arclint`**: Allow the filename, generated, nolint, text, spelling and ruby linters to be configured via `.arclint`.
Test Plan:
https://github.com/epriestley/arclint-examples/commit/458beca3d65b64d52ed612904ae66eb837118b94
Ran unit tests.
Reviewers: btrahan
Reviewed By: btrahan
CC: Firehed, aran
Maniphest Tasks: T2039, T3186
Differential Revision: https://secure.phabricator.com/D6805
2013-08-26 14:37:10 +02:00
|
|
|
'ArcanistRubyLinter' => 'ArcanistExternalLinter',
|
2015-01-04 20:41:59 +01:00
|
|
|
'ArcanistRubyLinterTestCase' => 'ArcanistExternalLinterTestCase',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistRuntimeConfigurationSource' => 'ArcanistDictionaryConfigurationSource',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistRuntimeHardpointQuery' => 'ArcanistHardpointQuery',
|
2020-04-08 17:38:52 +02:00
|
|
|
'ArcanistScalarHardpoint' => 'ArcanistHardpoint',
|
2012-05-31 21:09:01 +02:00
|
|
|
'ArcanistScriptAndRegexLinter' => 'ArcanistLinter',
|
2015-12-22 22:39:44 +01:00
|
|
|
'ArcanistSelfClassReferenceXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistSelfClassReferenceXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSelfMemberReferenceXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistSelfMemberReferenceXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSemicolonSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistSemicolonSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistSetConfigWorkflow' => 'ArcanistWorkflow',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistSetting' => 'Phobject',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistSettings' => 'Phobject',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistShellCompleteWorkflow' => 'ArcanistWorkflow',
|
Render "arc markers" workflows as a tree, not a list
Summary:
Ref T13546. Currently, each "land" workflow executes custom graph queries to find commits: move toward abstracting this logic.
The "land" workflow also has a potentially dangerous behavior: if you have "master > A > B > C" and "arc land C", it will land A, B, and C. However, an updated version of A or B may exist elsewhere in the working copy. If it does, "arc land" will incorrectly land an out-of-date set of changes.
To find newer versions of "A" and "B", we need to search backwards from all local markers to the nearest outgoing marker, then compare the sets of changes we find to the sets of changes selected by "arc land".
This is also roughly the workflow that "arc branches", etc., need to show local markers as a tree, and starting in "arc branches" allows the process to be visualized.
As implemented here ,this rendering is still somewhat rough, and the selection of "outgoing markers" isn't good. In Mercurial, we may plausibly be able to use phase markers, but in Git we likely can't guess the right behavior automatically and probably need additional configuration.
Test Plan: Ran "arc branches" and "arc bookmarks" in Git and Mercurial.
Maniphest Tasks: T13546
Differential Revision: https://secure.phabricator.com/D21363
2020-06-15 17:12:54 +02:00
|
|
|
'ArcanistSimpleCommitGraphQuery' => 'ArcanistCommitGraphQuery',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistSimpleSymbolHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
|
|
|
'ArcanistSimpleSymbolRef' => 'ArcanistSymbolRef',
|
|
|
|
'ArcanistSimpleSymbolRefInspector' => 'ArcanistRefInspector',
|
2012-05-31 21:09:01 +02:00
|
|
|
'ArcanistSingleLintEngine' => 'ArcanistLintEngine',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistSingleSourceConfigOption' => 'ArcanistConfigOption',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSlownessXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistSlownessXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2012-01-16 06:28:58 +01:00
|
|
|
'ArcanistSpellingLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistSpellingLinterTestCase' => 'ArcanistLinterTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistStaticThisXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistStaticThisXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-06-05 02:27:02 +02:00
|
|
|
'ArcanistStringConfigOption' => 'ArcanistSingleSourceConfigOption',
|
|
|
|
'ArcanistStringListConfigOption' => 'ArcanistListConfigOption',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistSubversionAPI' => 'ArcanistRepositoryAPI',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistSubversionWorkingCopy' => 'ArcanistWorkingCopy',
|
2014-07-25 00:16:29 +02:00
|
|
|
'ArcanistSummaryLintRenderer' => 'ArcanistLintRenderer',
|
2020-04-12 19:52:00 +02:00
|
|
|
'ArcanistSymbolEngine' => 'Phobject',
|
2020-04-12 00:58:08 +02:00
|
|
|
'ArcanistSymbolRef' => 'ArcanistRef',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistSyntaxErrorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistSystemConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistTaskRef' => 'ArcanistRef',
|
2020-04-13 21:34:34 +02:00
|
|
|
'ArcanistTaskSymbolRef' => 'ArcanistSimpleSymbolRef',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistTasksWorkflow' => 'ArcanistWorkflow',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistTautologicalExpressionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistTautologicalExpressionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistTestResultParser' => 'Phobject',
|
2015-02-09 20:55:03 +01:00
|
|
|
'ArcanistTestXHPASTLintSwitchHook' => 'ArcanistXHPASTLintSwitchHook',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistTextLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistTextLinterTestCase' => 'ArcanistLinterTestCase',
|
2015-11-19 20:50:27 +01:00
|
|
|
'ArcanistThisReassignmentXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistThisReassignmentXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistToStringExceptionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistToStringExceptionXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistTodoCommentXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistTodoCommentXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistTodoWorkflow' => 'ArcanistWorkflow',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistToolset' => 'Phobject',
|
2015-02-11 22:02:11 +01:00
|
|
|
'ArcanistUSEnglishTranslation' => 'PhutilTranslation',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUnableToParseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-08-06 03:38:14 +02:00
|
|
|
'ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnaryPostfixExpressionSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-08-05 23:00:32 +02:00
|
|
|
'ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnaryPrefixExpressionSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUndeclaredVariableXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUndeclaredVariableXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-19 09:34:32 +01:00
|
|
|
'ArcanistUnexpectedReturnValueXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistUnexpectedReturnValueXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2013-02-27 22:59:12 +01:00
|
|
|
'ArcanistUnitConsoleRenderer' => 'ArcanistUnitRenderer',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistUnitRenderer' => 'Phobject',
|
|
|
|
'ArcanistUnitTestEngine' => 'Phobject',
|
|
|
|
'ArcanistUnitTestResult' => 'Phobject',
|
Preserve more information when merging coverage
Summary:
Ref T8096. Each test reports coverage information, which we sometimes merge into a combined coverage report.
Usually, each test will report results for every line in the file, so if the file is 30 lines long, coverage is usually 30 characters long.
However, for whatever reason, tests might report results for only the first part of the file. This is allowed and we handle it properly.
Right now, if one test reports 10 lines of results and another reports 30 lines of results, we only use the first 10 lines of results. Instead, extend the merged coverage to include the extra 20 lines of results.
(This is an uncommon case which I only hit because I was manually banging on my keyboard to generate test data, but there's no reason not to handle it better.)
Test Plan: Used web UI, added + executed unit tests.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T8096
Differential Revision: https://secure.phabricator.com/D13854
2015-08-11 00:35:15 +02:00
|
|
|
'ArcanistUnitTestResultTestCase' => 'PhutilTestCase',
|
2015-01-04 20:44:49 +01:00
|
|
|
'ArcanistUnitTestableLintEngine' => 'ArcanistLintEngine',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistUnitWorkflow' => 'ArcanistWorkflow',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUnnecessaryFinalModifierXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnnecessaryFinalModifierXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUnnecessarySemicolonXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-23 22:17:25 +01:00
|
|
|
'ArcanistUnnecessarySymbolAliasXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistUnnecessarySymbolAliasXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-11-12 21:08:40 +01:00
|
|
|
'ArcanistUnsafeDynamicStringXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUnsafeDynamicStringXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-02-17 18:32:30 +01:00
|
|
|
'ArcanistUpgradeWorkflow' => 'ArcanistArcWorkflow',
|
2020-02-17 20:38:04 +01:00
|
|
|
'ArcanistUploadWorkflow' => 'ArcanistArcWorkflow',
|
2012-05-30 23:22:59 +02:00
|
|
|
'ArcanistUsageException' => 'Exception',
|
Add a linter rule for `use` statement namespace prefixes
Summary:
When importing or aliases a symbol with a `use` statement, the leading namespace separator is optional and does not modify the behavior. That is, `use \X` is equivalent to `use X`. As such, the latter syntax should be preferred because it is more concise.
According to the [[http://php.net/manual/en/language.namespaces.importing.php | PHP documentation]]:
> Note that for namespaced names (fully qualified namespace names containing namespace separator, such as `Foo\Bar` as opposed to global names that do not, such as `FooBar`), the leading backslash is unnecessary and not recommended, as import names must be fully qualified, and are not processed relative to the current namespace.
Test Plan: Added test cases.
Reviewers: epriestley, #blessed_reviewers
Reviewed By: epriestley, #blessed_reviewers
Subscribers: epriestley
Differential Revision: https://secure.phabricator.com/D14517
2015-11-23 20:42:39 +01:00
|
|
|
'ArcanistUseStatementNamespacePrefixXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistUseStatementNamespacePrefixXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistUselessOverridingMethodXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistUserAbortException' => 'ArcanistUsageException',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistUserConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
|
2020-06-11 02:15:42 +02:00
|
|
|
'ArcanistUserRef' => 'ArcanistRef',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistUserSymbolHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-04-12 15:54:46 +02:00
|
|
|
'ArcanistUserSymbolRef' => 'ArcanistSymbolRef',
|
|
|
|
'ArcanistUserSymbolRefInspector' => 'ArcanistRefInspector',
|
2015-11-30 21:16:35 +01:00
|
|
|
'ArcanistVariableReferenceSpacingXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
|
|
|
'ArcanistVariableReferenceSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2015-06-01 07:49:16 +02:00
|
|
|
'ArcanistVariableVariableXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistVariableVariableXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
|
2020-04-08 17:38:52 +02:00
|
|
|
'ArcanistVectorHardpoint' => 'ArcanistHardpoint',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistVersionWorkflow' => 'ArcanistWorkflow',
|
2020-02-15 03:22:43 +01:00
|
|
|
'ArcanistWeldWorkflow' => 'ArcanistArcWorkflow',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistWhichWorkflow' => 'ArcanistWorkflow',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWildConfigOption' => 'ArcanistConfigOption',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistWorkEngine' => 'ArcanistWorkflowEngine',
|
|
|
|
'ArcanistWorkWorkflow' => 'ArcanistArcWorkflow',
|
2014-07-21 23:49:15 +02:00
|
|
|
'ArcanistWorkflow' => 'Phobject',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkflowArgument' => 'Phobject',
|
2020-06-08 21:13:37 +02:00
|
|
|
'ArcanistWorkflowEngine' => 'Phobject',
|
2020-04-12 20:06:10 +02:00
|
|
|
'ArcanistWorkflowGitHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkflowInformation' => 'Phobject',
|
2020-06-05 02:29:16 +02:00
|
|
|
'ArcanistWorkflowMercurialHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkingCopy' => 'Phobject',
|
|
|
|
'ArcanistWorkingCopyConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistWorkingCopyIdentity' => 'Phobject',
|
2020-02-13 17:08:35 +01:00
|
|
|
'ArcanistWorkingCopyPath' => 'Phobject',
|
2020-02-13 15:01:26 +01:00
|
|
|
'ArcanistWorkingCopyStateRef' => 'ArcanistRef',
|
2020-04-10 14:28:55 +02:00
|
|
|
'ArcanistWorkingCopyStateRefInspector' => 'ArcanistRefInspector',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistXHPASTLintNamingHook' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'ArcanistXHPASTLintNamingHookTestCase' => 'PhutilTestCase',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistXHPASTLintSwitchHook' => 'Phobject',
|
2013-01-29 07:03:03 +01:00
|
|
|
'ArcanistXHPASTLinter' => 'ArcanistBaseXHPASTLinter',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistXHPASTLinterRule' => 'Phobject',
|
2015-11-18 22:57:23 +01:00
|
|
|
'ArcanistXHPASTLinterRuleTestCase' => 'ArcanistLinterTestCase',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistXHPASTLinterTestCase' => 'ArcanistLinterTestCase',
|
2014-05-06 05:15:53 +02:00
|
|
|
'ArcanistXMLLinter' => 'ArcanistLinter',
|
2015-02-04 21:21:00 +01:00
|
|
|
'ArcanistXMLLinterTestCase' => 'ArcanistLinterTestCase',
|
2015-06-15 07:45:13 +02:00
|
|
|
'ArcanistXUnitTestResultParser' => 'Phobject',
|
2020-02-12 23:24:11 +01:00
|
|
|
'BaseHTTPFuture' => 'Future',
|
2013-09-23 14:32:34 +02:00
|
|
|
'CSharpToolsTestEngine' => 'XUnitTestEngine',
|
2020-02-12 23:24:11 +01:00
|
|
|
'CaseInsensitiveArray' => 'PhutilArray',
|
|
|
|
'CaseInsensitiveArrayTestCase' => 'PhutilTestCase',
|
|
|
|
'CommandException' => 'Exception',
|
|
|
|
'ConduitClient' => 'Phobject',
|
|
|
|
'ConduitClientException' => 'Exception',
|
|
|
|
'ConduitClientTestCase' => 'PhutilTestCase',
|
|
|
|
'ConduitFuture' => 'FutureProxy',
|
2020-04-12 15:54:46 +02:00
|
|
|
'ConduitSearchFuture' => 'FutureAgent',
|
2020-02-12 23:24:11 +01:00
|
|
|
'ExecFuture' => 'PhutilExecutableFuture',
|
|
|
|
'ExecFutureTestCase' => 'PhutilTestCase',
|
|
|
|
'ExecPassthruTestCase' => 'PhutilTestCase',
|
|
|
|
'FileFinder' => 'Phobject',
|
|
|
|
'FileFinderTestCase' => 'PhutilTestCase',
|
|
|
|
'FileList' => 'Phobject',
|
|
|
|
'Filesystem' => 'Phobject',
|
|
|
|
'FilesystemException' => 'Exception',
|
|
|
|
'FilesystemTestCase' => 'PhutilTestCase',
|
|
|
|
'Future' => 'Phobject',
|
2020-04-12 15:54:46 +02:00
|
|
|
'FutureAgent' => 'Future',
|
2020-02-12 23:24:11 +01:00
|
|
|
'FutureIterator' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'FutureIteratorTestCase' => 'PhutilTestCase',
|
2020-04-03 20:29:38 +02:00
|
|
|
'FuturePool' => 'Phobject',
|
2020-02-12 23:24:11 +01:00
|
|
|
'FutureProxy' => 'Future',
|
|
|
|
'HTTPFuture' => 'BaseHTTPFuture',
|
|
|
|
'HTTPFutureCURLResponseStatus' => 'HTTPFutureResponseStatus',
|
|
|
|
'HTTPFutureCertificateResponseStatus' => 'HTTPFutureResponseStatus',
|
|
|
|
'HTTPFutureHTTPResponseStatus' => 'HTTPFutureResponseStatus',
|
|
|
|
'HTTPFutureParseResponseStatus' => 'HTTPFutureResponseStatus',
|
|
|
|
'HTTPFutureResponseStatus' => 'Exception',
|
|
|
|
'HTTPFutureTransportResponseStatus' => 'HTTPFutureResponseStatus',
|
|
|
|
'HTTPSFuture' => 'BaseHTTPFuture',
|
|
|
|
'ImmediateFuture' => 'Future',
|
|
|
|
'LibphutilUSEnglishTranslation' => 'PhutilTranslation',
|
|
|
|
'LinesOfALarge' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'LinesOfALargeExecFuture' => 'LinesOfALarge',
|
|
|
|
'LinesOfALargeExecFutureTestCase' => 'PhutilTestCase',
|
|
|
|
'LinesOfALargeFile' => 'LinesOfALarge',
|
|
|
|
'LinesOfALargeFileTestCase' => 'PhutilTestCase',
|
|
|
|
'MFilterTestHelper' => 'Phobject',
|
2021-09-04 22:22:43 +02:00
|
|
|
'MethodCallFuture' => 'Future',
|
|
|
|
'MethodCallFutureTestCase' => 'PhutilTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'NoseTestEngine' => 'ArcanistUnitTestEngine',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PHPASTParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhageAction' => 'Phobject',
|
|
|
|
'PhageAgentAction' => 'PhageAction',
|
|
|
|
'PhageAgentBootloader' => 'Phobject',
|
|
|
|
'PhageAgentTestCase' => 'PhutilTestCase',
|
2020-04-06 19:21:53 +02:00
|
|
|
'PhageExecWorkflow' => 'PhageWorkflow',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhageExecuteAction' => 'PhageAction',
|
|
|
|
'PhageLocalAction' => 'PhageAgentAction',
|
|
|
|
'PhagePHPAgent' => 'Phobject',
|
|
|
|
'PhagePHPAgentBootloader' => 'PhageAgentBootloader',
|
|
|
|
'PhagePlanAction' => 'PhageAction',
|
2020-02-23 17:40:44 +01:00
|
|
|
'PhageToolset' => 'ArcanistToolset',
|
|
|
|
'PhageWorkflow' => 'ArcanistWorkflow',
|
2020-02-12 23:24:11 +01:00
|
|
|
'Phobject' => 'Iterator',
|
|
|
|
'PhobjectTestCase' => 'PhutilTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'PhpunitTestEngine' => 'ArcanistUnitTestEngine',
|
2015-05-20 01:37:44 +02:00
|
|
|
'PhpunitTestEngineTestCase' => 'PhutilTestCase',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilAWSCloudFormationFuture' => 'PhutilAWSFuture',
|
|
|
|
'PhutilAWSCloudWatchFuture' => 'PhutilAWSFuture',
|
|
|
|
'PhutilAWSEC2Future' => 'PhutilAWSFuture',
|
|
|
|
'PhutilAWSException' => 'Exception',
|
|
|
|
'PhutilAWSFuture' => 'FutureProxy',
|
|
|
|
'PhutilAWSManagementWorkflow' => 'PhutilArgumentWorkflow',
|
|
|
|
'PhutilAWSS3DeleteManagementWorkflow' => 'PhutilAWSS3ManagementWorkflow',
|
|
|
|
'PhutilAWSS3Future' => 'PhutilAWSFuture',
|
|
|
|
'PhutilAWSS3GetManagementWorkflow' => 'PhutilAWSS3ManagementWorkflow',
|
|
|
|
'PhutilAWSS3ManagementWorkflow' => 'PhutilAWSManagementWorkflow',
|
|
|
|
'PhutilAWSS3PutManagementWorkflow' => 'PhutilAWSS3ManagementWorkflow',
|
|
|
|
'PhutilAWSv4Signature' => 'Phobject',
|
|
|
|
'PhutilAWSv4SignatureTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilAggregateException' => 'Exception',
|
|
|
|
'PhutilAllCapsEnglishLocale' => 'PhutilLocale',
|
|
|
|
'PhutilArgumentParser' => 'Phobject',
|
|
|
|
'PhutilArgumentParserException' => 'Exception',
|
|
|
|
'PhutilArgumentParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilArgumentSpecification' => 'Phobject',
|
|
|
|
'PhutilArgumentSpecificationException' => 'PhutilArgumentParserException',
|
|
|
|
'PhutilArgumentSpecificationTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilArgumentSpellingCorrector' => 'Phobject',
|
|
|
|
'PhutilArgumentSpellingCorrectorTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilArgumentUsageException' => 'PhutilArgumentParserException',
|
|
|
|
'PhutilArgumentWorkflow' => 'Phobject',
|
|
|
|
'PhutilArray' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Countable',
|
|
|
|
'ArrayAccess',
|
|
|
|
'Iterator',
|
|
|
|
),
|
2020-05-28 16:26:06 +02:00
|
|
|
'PhutilArrayCheck' => 'Phobject',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilArrayTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilArrayWithDefaultValue' => 'PhutilArray',
|
|
|
|
'PhutilAsanaFuture' => 'FutureProxy',
|
|
|
|
'PhutilBacktraceSignalHandler' => 'PhutilSignalHandler',
|
|
|
|
'PhutilBallOfPHP' => 'Phobject',
|
|
|
|
'PhutilBinaryAnalyzer' => 'Phobject',
|
|
|
|
'PhutilBinaryAnalyzerTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilBootloaderException' => 'Exception',
|
|
|
|
'PhutilBritishEnglishLocale' => 'PhutilLocale',
|
|
|
|
'PhutilBufferedIterator' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'PhutilBufferedIteratorTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilBugtraqParser' => 'Phobject',
|
|
|
|
'PhutilBugtraqParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilCIDRBlock' => 'Phobject',
|
|
|
|
'PhutilCIDRList' => 'Phobject',
|
|
|
|
'PhutilCallbackFilterIterator' => 'FilterIterator',
|
|
|
|
'PhutilCallbackSignalHandler' => 'PhutilSignalHandler',
|
|
|
|
'PhutilChannel' => 'Phobject',
|
|
|
|
'PhutilChannelChannel' => 'PhutilChannel',
|
|
|
|
'PhutilChannelTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilChunkedIterator' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'PhutilChunkedIteratorTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilClassMapQuery' => 'Phobject',
|
|
|
|
'PhutilCloudWatchMetric' => 'Phobject',
|
|
|
|
'PhutilCommandString' => 'Phobject',
|
|
|
|
'PhutilConsole' => 'Phobject',
|
|
|
|
'PhutilConsoleBlock' => 'PhutilConsoleView',
|
|
|
|
'PhutilConsoleError' => 'PhutilConsoleLogLine',
|
|
|
|
'PhutilConsoleFormatter' => 'Phobject',
|
|
|
|
'PhutilConsoleInfo' => 'PhutilConsoleLogLine',
|
|
|
|
'PhutilConsoleList' => 'PhutilConsoleView',
|
|
|
|
'PhutilConsoleLogLine' => 'PhutilConsoleView',
|
|
|
|
'PhutilConsoleMessage' => 'Phobject',
|
|
|
|
'PhutilConsoleMetrics' => 'Phobject',
|
|
|
|
'PhutilConsoleMetricsSignalHandler' => 'PhutilSignalHandler',
|
|
|
|
'PhutilConsoleProgressBar' => 'Phobject',
|
|
|
|
'PhutilConsoleProgressSink' => 'PhutilProgressSink',
|
|
|
|
'PhutilConsoleServer' => 'Phobject',
|
|
|
|
'PhutilConsoleServerChannel' => 'PhutilChannelChannel',
|
|
|
|
'PhutilConsoleSkip' => 'PhutilConsoleLogLine',
|
|
|
|
'PhutilConsoleStdinNotInteractiveException' => 'Exception',
|
|
|
|
'PhutilConsoleTable' => 'PhutilConsoleView',
|
|
|
|
'PhutilConsoleView' => 'Phobject',
|
|
|
|
'PhutilConsoleWarning' => 'PhutilConsoleLogLine',
|
|
|
|
'PhutilConsoleWrapTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilCowsay' => 'Phobject',
|
|
|
|
'PhutilCowsayTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilCsprintfTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilCzechLocale' => 'PhutilLocale',
|
|
|
|
'PhutilDOMNode' => 'Phobject',
|
|
|
|
'PhutilDeferredLog' => 'Phobject',
|
|
|
|
'PhutilDeferredLogTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilDiffBinaryAnalyzer' => 'PhutilBinaryAnalyzer',
|
|
|
|
'PhutilDirectedScalarGraph' => 'AbstractDirectedGraph',
|
|
|
|
'PhutilDirectoryFixture' => 'Phobject',
|
|
|
|
'PhutilDocblockParser' => 'Phobject',
|
|
|
|
'PhutilDocblockParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilEditDistanceMatrix' => 'Phobject',
|
|
|
|
'PhutilEditDistanceMatrixTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilEditorConfig' => 'Phobject',
|
|
|
|
'PhutilEditorConfigTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilEmailAddress' => 'Phobject',
|
|
|
|
'PhutilEmailAddressTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilEmojiLocale' => 'PhutilLocale',
|
|
|
|
'PhutilEnglishCanadaLocale' => 'PhutilLocale',
|
|
|
|
'PhutilErrorHandler' => 'Phobject',
|
|
|
|
'PhutilErrorHandlerTestCase' => 'PhutilTestCase',
|
2021-02-26 20:59:49 +01:00
|
|
|
'PhutilErrorLog' => 'Phobject',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilErrorTrap' => 'Phobject',
|
|
|
|
'PhutilEvent' => 'Phobject',
|
|
|
|
'PhutilEventConstants' => 'Phobject',
|
|
|
|
'PhutilEventEngine' => 'Phobject',
|
|
|
|
'PhutilEventListener' => 'Phobject',
|
|
|
|
'PhutilEventType' => 'PhutilEventConstants',
|
|
|
|
'PhutilExampleBufferedIterator' => 'PhutilBufferedIterator',
|
|
|
|
'PhutilExecChannel' => 'PhutilChannel',
|
|
|
|
'PhutilExecPassthru' => 'PhutilExecutableFuture',
|
|
|
|
'PhutilExecutableFuture' => 'Future',
|
|
|
|
'PhutilExecutionEnvironment' => 'Phobject',
|
|
|
|
'PhutilFileLock' => 'PhutilLock',
|
|
|
|
'PhutilFileLockTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilFrenchLocale' => 'PhutilLocale',
|
|
|
|
'PhutilGermanLocale' => 'PhutilLocale',
|
|
|
|
'PhutilGitBinaryAnalyzer' => 'PhutilBinaryAnalyzer',
|
|
|
|
'PhutilGitHubFuture' => 'FutureProxy',
|
|
|
|
'PhutilGitHubResponse' => 'Phobject',
|
|
|
|
'PhutilGitURI' => 'Phobject',
|
|
|
|
'PhutilGitURITestCase' => 'PhutilTestCase',
|
2021-01-12 19:33:47 +01:00
|
|
|
'PhutilGitsprintfTestCase' => 'PhutilTestCase',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilHTMLParser' => 'Phobject',
|
|
|
|
'PhutilHTMLParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilHTTPEngineExtension' => 'Phobject',
|
|
|
|
'PhutilHTTPResponse' => 'Phobject',
|
|
|
|
'PhutilHTTPResponseParser' => 'Phobject',
|
|
|
|
'PhutilHTTPResponseParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilHashingIterator' => array(
|
|
|
|
'PhutilProxyIterator',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'PhutilHashingIteratorTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilHelpArgumentWorkflow' => 'PhutilArgumentWorkflow',
|
|
|
|
'PhutilHgsprintfTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilINIParserException' => 'Exception',
|
|
|
|
'PhutilIPAddress' => 'Phobject',
|
|
|
|
'PhutilIPAddressTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilIPv4Address' => 'PhutilIPAddress',
|
|
|
|
'PhutilIPv6Address' => 'PhutilIPAddress',
|
|
|
|
'PhutilInteractiveEditor' => 'Phobject',
|
|
|
|
'PhutilInvalidRuleParserGeneratorException' => 'PhutilParserGeneratorException',
|
|
|
|
'PhutilInvalidStateException' => 'Exception',
|
|
|
|
'PhutilInvalidStateExceptionTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilIrreducibleRuleParserGeneratorException' => 'PhutilParserGeneratorException',
|
|
|
|
'PhutilJSON' => 'Phobject',
|
|
|
|
'PhutilJSONFragmentLexer' => 'PhutilLexer',
|
|
|
|
'PhutilJSONParser' => 'Phobject',
|
|
|
|
'PhutilJSONParserException' => 'Exception',
|
|
|
|
'PhutilJSONParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilJSONProtocolChannel' => 'PhutilProtocolChannel',
|
|
|
|
'PhutilJSONProtocolChannelTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilJSONTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilJavaFragmentLexer' => 'PhutilLexer',
|
|
|
|
'PhutilKoreanLocale' => 'PhutilLocale',
|
|
|
|
'PhutilLanguageGuesser' => 'Phobject',
|
|
|
|
'PhutilLanguageGuesserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilLexer' => 'Phobject',
|
|
|
|
'PhutilLibraryConflictException' => 'Exception',
|
|
|
|
'PhutilLibraryMapBuilder' => 'Phobject',
|
|
|
|
'PhutilLibraryTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilLocale' => 'Phobject',
|
|
|
|
'PhutilLocaleTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilLock' => 'Phobject',
|
|
|
|
'PhutilLockException' => 'Exception',
|
|
|
|
'PhutilLogFileChannel' => 'PhutilChannelChannel',
|
|
|
|
'PhutilLunarPhase' => 'Phobject',
|
|
|
|
'PhutilLunarPhaseTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilMercurialBinaryAnalyzer' => 'PhutilBinaryAnalyzer',
|
|
|
|
'PhutilMethodNotImplementedException' => 'Exception',
|
|
|
|
'PhutilMetricsChannel' => 'PhutilChannelChannel',
|
|
|
|
'PhutilMissingSymbolException' => 'Exception',
|
|
|
|
'PhutilModuleUtilsTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilNumber' => 'Phobject',
|
|
|
|
'PhutilOAuth1Future' => 'FutureProxy',
|
|
|
|
'PhutilOAuth1FutureTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilOpaqueEnvelope' => 'Phobject',
|
|
|
|
'PhutilOpaqueEnvelopeKey' => 'Phobject',
|
|
|
|
'PhutilOpaqueEnvelopeTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilPHPFragmentLexer' => 'PhutilLexer',
|
|
|
|
'PhutilPHPFragmentLexerTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilPHPObjectProtocolChannel' => 'PhutilProtocolChannel',
|
|
|
|
'PhutilPHPObjectProtocolChannelTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilParserGenerator' => 'Phobject',
|
|
|
|
'PhutilParserGeneratorException' => 'Exception',
|
|
|
|
'PhutilParserGeneratorTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilPayPalAPIFuture' => 'FutureProxy',
|
|
|
|
'PhutilPersonTest' => array(
|
|
|
|
'Phobject',
|
|
|
|
'PhutilPerson',
|
|
|
|
),
|
|
|
|
'PhutilPhtTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilPirateEnglishLocale' => 'PhutilLocale',
|
|
|
|
'PhutilPortugueseBrazilLocale' => 'PhutilLocale',
|
|
|
|
'PhutilPortuguesePortugalLocale' => 'PhutilLocale',
|
|
|
|
'PhutilPostmarkFuture' => 'FutureProxy',
|
|
|
|
'PhutilPregsprintfTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilProcessQuery' => 'Phobject',
|
|
|
|
'PhutilProcessRef' => 'Phobject',
|
|
|
|
'PhutilProcessRefTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilProgressSink' => 'Phobject',
|
|
|
|
'PhutilProtocolChannel' => 'PhutilChannelChannel',
|
|
|
|
'PhutilProxyException' => 'Exception',
|
|
|
|
'PhutilProxyIterator' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'PhutilPygmentizeBinaryAnalyzer' => 'PhutilBinaryAnalyzer',
|
|
|
|
'PhutilPythonFragmentLexer' => 'PhutilLexer',
|
|
|
|
'PhutilQueryStringParser' => 'Phobject',
|
|
|
|
'PhutilQueryStringParserTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilRawEnglishLocale' => 'PhutilLocale',
|
|
|
|
'PhutilReadableSerializer' => 'Phobject',
|
|
|
|
'PhutilReadableSerializerTestCase' => 'PhutilTestCase',
|
2021-02-17 21:42:09 +01:00
|
|
|
'PhutilRegexException' => 'Exception',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilRope' => 'Phobject',
|
|
|
|
'PhutilRopeTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilServiceProfiler' => 'Phobject',
|
|
|
|
'PhutilShellLexer' => 'PhutilLexer',
|
|
|
|
'PhutilShellLexerTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilSignalHandler' => 'Phobject',
|
|
|
|
'PhutilSignalRouter' => 'Phobject',
|
|
|
|
'PhutilSimpleOptions' => 'Phobject',
|
|
|
|
'PhutilSimpleOptionsLexer' => 'PhutilLexer',
|
|
|
|
'PhutilSimpleOptionsLexerTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilSimpleOptionsTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilSimplifiedChineseLocale' => 'PhutilLocale',
|
|
|
|
'PhutilSlackFuture' => 'FutureProxy',
|
|
|
|
'PhutilSocketChannel' => 'PhutilChannel',
|
|
|
|
'PhutilSortVector' => 'Phobject',
|
|
|
|
'PhutilSpanishSpainLocale' => 'PhutilLocale',
|
|
|
|
'PhutilStreamIterator' => array(
|
|
|
|
'Phobject',
|
|
|
|
'Iterator',
|
|
|
|
),
|
|
|
|
'PhutilSubversionBinaryAnalyzer' => 'PhutilBinaryAnalyzer',
|
|
|
|
'PhutilSystem' => 'Phobject',
|
|
|
|
'PhutilSystemTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilTerminalString' => 'Phobject',
|
2015-06-15 07:45:13 +02:00
|
|
|
'PhutilTestCase' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'PhutilTestCaseTestCase' => 'PhutilTestCase',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilTestPhobject' => 'Phobject',
|
2015-05-20 01:37:44 +02:00
|
|
|
'PhutilTestSkippedException' => 'Exception',
|
|
|
|
'PhutilTestTerminatedException' => 'Exception',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilTraditionalChineseLocale' => 'PhutilLocale',
|
|
|
|
'PhutilTranslation' => 'Phobject',
|
|
|
|
'PhutilTranslationTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilTranslator' => 'Phobject',
|
|
|
|
'PhutilTranslatorTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilTsprintfTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilTwitchFuture' => 'FutureProxy',
|
|
|
|
'PhutilTypeCheckException' => 'Exception',
|
|
|
|
'PhutilTypeExtraParametersException' => 'Exception',
|
|
|
|
'PhutilTypeLexer' => 'PhutilLexer',
|
|
|
|
'PhutilTypeMissingParametersException' => 'Exception',
|
|
|
|
'PhutilTypeSpec' => 'Phobject',
|
|
|
|
'PhutilTypeSpecTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilURI' => 'Phobject',
|
|
|
|
'PhutilURITestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilUSEnglishLocale' => 'PhutilLocale',
|
|
|
|
'PhutilUTF8StringTruncator' => 'Phobject',
|
|
|
|
'PhutilUTF8TestCase' => 'PhutilTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'PhutilUnitTestEngine' => 'ArcanistUnitTestEngine',
|
2015-05-20 01:37:44 +02:00
|
|
|
'PhutilUnitTestEngineTestCase' => 'PhutilTestCase',
|
2020-02-12 23:24:11 +01:00
|
|
|
'PhutilUnknownSymbolParserGeneratorException' => 'PhutilParserGeneratorException',
|
|
|
|
'PhutilUnreachableRuleParserGeneratorException' => 'PhutilParserGeneratorException',
|
|
|
|
'PhutilUnreachableTerminalParserGeneratorException' => 'PhutilParserGeneratorException',
|
|
|
|
'PhutilUrisprintfTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilUtilsTestCase' => 'PhutilTestCase',
|
|
|
|
'PhutilVeryWowEnglishLocale' => 'PhutilLocale',
|
|
|
|
'PhutilWordPressFuture' => 'FutureProxy',
|
|
|
|
'PhutilXHPASTBinary' => 'Phobject',
|
2022-04-22 06:15:00 +02:00
|
|
|
'PlatformSymbols' => 'Phobject',
|
2014-07-21 23:49:15 +02:00
|
|
|
'PytestTestEngine' => 'ArcanistUnitTestEngine',
|
2020-02-12 23:24:11 +01:00
|
|
|
'TempFile' => 'Phobject',
|
|
|
|
'TestAbstractDirectedGraph' => 'AbstractDirectedGraph',
|
|
|
|
'XHPASTNode' => 'AASTNode',
|
|
|
|
'XHPASTNodeTestCase' => 'PhutilTestCase',
|
|
|
|
'XHPASTSyntaxErrorException' => 'Exception',
|
|
|
|
'XHPASTToken' => 'AASTToken',
|
|
|
|
'XHPASTTree' => 'AASTTree',
|
|
|
|
'XHPASTTreeTestCase' => 'PhutilTestCase',
|
2014-07-21 23:49:15 +02:00
|
|
|
'XUnitTestEngine' => 'ArcanistUnitTestEngine',
|
2015-05-20 01:37:44 +02:00
|
|
|
'XUnitTestResultParserTestCase' => 'PhutilTestCase',
|
2020-02-12 23:24:11 +01:00
|
|
|
'XsprintfUnknownConversionException' => 'InvalidArgumentException',
|
2011-01-10 00:22:25 +01:00
|
|
|
),
|
|
|
|
));
|