mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 14:52:40 +01:00
Don't explicitly name abstract base classes
Summary: Ref T5655. It is superfluous to include "base" in the name of an abstract base class. Furthermore, it is not done consistently within the code base. In order to retain compatibility with external code, I have kept the `ArcanistBaseWorkflow` class (which trivially extends from `ArcanistWorkflow`), but it is now deprecated and should output a warning message. Similarly for `ArcanistBaseUnitTestEngine`. Test Plan: Created a workflow which extends from `ArcanistBaseWorkflow`. Executed the workflow and saw a deprecation warning. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley, Korvin, aurelijus Maniphest Tasks: T5655 Differential Revision: https://secure.phabricator.com/D9983
This commit is contained in:
parent
c6e6227ef9
commit
ef18ae08eb
53 changed files with 2036 additions and 2008 deletions
|
@ -16,7 +16,6 @@ phutil_register_library_map(array(
|
||||||
'ArcanistBackoutWorkflow' => 'workflow/ArcanistBackoutWorkflow.php',
|
'ArcanistBackoutWorkflow' => 'workflow/ArcanistBackoutWorkflow.php',
|
||||||
'ArcanistBaseCommitParser' => 'parser/ArcanistBaseCommitParser.php',
|
'ArcanistBaseCommitParser' => 'parser/ArcanistBaseCommitParser.php',
|
||||||
'ArcanistBaseCommitParserTestCase' => 'parser/__tests__/ArcanistBaseCommitParserTestCase.php',
|
'ArcanistBaseCommitParserTestCase' => 'parser/__tests__/ArcanistBaseCommitParserTestCase.php',
|
||||||
'ArcanistBaseTestResultParser' => 'unit/engine/ArcanistBaseTestResultParser.php',
|
|
||||||
'ArcanistBaseUnitTestEngine' => 'unit/engine/ArcanistBaseUnitTestEngine.php',
|
'ArcanistBaseUnitTestEngine' => 'unit/engine/ArcanistBaseUnitTestEngine.php',
|
||||||
'ArcanistBaseWorkflow' => 'workflow/ArcanistBaseWorkflow.php',
|
'ArcanistBaseWorkflow' => 'workflow/ArcanistBaseWorkflow.php',
|
||||||
'ArcanistBaseXHPASTLinter' => 'lint/linter/ArcanistBaseXHPASTLinter.php',
|
'ArcanistBaseXHPASTLinter' => 'lint/linter/ArcanistBaseXHPASTLinter.php',
|
||||||
|
@ -168,6 +167,7 @@ phutil_register_library_map(array(
|
||||||
'ArcanistSvnHookPreCommitWorkflow' => 'workflow/ArcanistSvnHookPreCommitWorkflow.php',
|
'ArcanistSvnHookPreCommitWorkflow' => 'workflow/ArcanistSvnHookPreCommitWorkflow.php',
|
||||||
'ArcanistTasksWorkflow' => 'workflow/ArcanistTasksWorkflow.php',
|
'ArcanistTasksWorkflow' => 'workflow/ArcanistTasksWorkflow.php',
|
||||||
'ArcanistTestCase' => 'infrastructure/testing/ArcanistTestCase.php',
|
'ArcanistTestCase' => 'infrastructure/testing/ArcanistTestCase.php',
|
||||||
|
'ArcanistTestResultParser' => 'unit/engine/ArcanistTestResultParser.php',
|
||||||
'ArcanistTextLinter' => 'lint/linter/ArcanistTextLinter.php',
|
'ArcanistTextLinter' => 'lint/linter/ArcanistTextLinter.php',
|
||||||
'ArcanistTextLinterTestCase' => 'lint/linter/__tests__/ArcanistTextLinterTestCase.php',
|
'ArcanistTextLinterTestCase' => 'lint/linter/__tests__/ArcanistTextLinterTestCase.php',
|
||||||
'ArcanistTimeWorkflow' => 'workflow/ArcanistTimeWorkflow.php',
|
'ArcanistTimeWorkflow' => 'workflow/ArcanistTimeWorkflow.php',
|
||||||
|
@ -175,6 +175,7 @@ phutil_register_library_map(array(
|
||||||
'ArcanistUncommittedChangesException' => 'exception/usage/ArcanistUncommittedChangesException.php',
|
'ArcanistUncommittedChangesException' => 'exception/usage/ArcanistUncommittedChangesException.php',
|
||||||
'ArcanistUnitConsoleRenderer' => 'unit/renderer/ArcanistUnitConsoleRenderer.php',
|
'ArcanistUnitConsoleRenderer' => 'unit/renderer/ArcanistUnitConsoleRenderer.php',
|
||||||
'ArcanistUnitRenderer' => 'unit/renderer/ArcanistUnitRenderer.php',
|
'ArcanistUnitRenderer' => 'unit/renderer/ArcanistUnitRenderer.php',
|
||||||
|
'ArcanistUnitTestEngine' => 'unit/engine/ArcanistUnitTestEngine.php',
|
||||||
'ArcanistUnitTestResult' => 'unit/ArcanistUnitTestResult.php',
|
'ArcanistUnitTestResult' => 'unit/ArcanistUnitTestResult.php',
|
||||||
'ArcanistUnitWorkflow' => 'workflow/ArcanistUnitWorkflow.php',
|
'ArcanistUnitWorkflow' => 'workflow/ArcanistUnitWorkflow.php',
|
||||||
'ArcanistUpgradeWorkflow' => 'workflow/ArcanistUpgradeWorkflow.php',
|
'ArcanistUpgradeWorkflow' => 'workflow/ArcanistUpgradeWorkflow.php',
|
||||||
|
@ -183,6 +184,7 @@ phutil_register_library_map(array(
|
||||||
'ArcanistUserAbortException' => 'exception/usage/ArcanistUserAbortException.php',
|
'ArcanistUserAbortException' => 'exception/usage/ArcanistUserAbortException.php',
|
||||||
'ArcanistVersionWorkflow' => 'workflow/ArcanistVersionWorkflow.php',
|
'ArcanistVersionWorkflow' => 'workflow/ArcanistVersionWorkflow.php',
|
||||||
'ArcanistWhichWorkflow' => 'workflow/ArcanistWhichWorkflow.php',
|
'ArcanistWhichWorkflow' => 'workflow/ArcanistWhichWorkflow.php',
|
||||||
|
'ArcanistWorkflow' => 'workflow/ArcanistWorkflow.php',
|
||||||
'ArcanistWorkingCopyIdentity' => 'workingcopyidentity/ArcanistWorkingCopyIdentity.php',
|
'ArcanistWorkingCopyIdentity' => 'workingcopyidentity/ArcanistWorkingCopyIdentity.php',
|
||||||
'ArcanistXHPASTLintNamingHook' => 'lint/linter/xhpast/ArcanistXHPASTLintNamingHook.php',
|
'ArcanistXHPASTLintNamingHook' => 'lint/linter/xhpast/ArcanistXHPASTLintNamingHook.php',
|
||||||
'ArcanistXHPASTLintNamingHookTestCase' => 'lint/linter/xhpast/__tests__/ArcanistXHPASTLintNamingHookTestCase.php',
|
'ArcanistXHPASTLintNamingHookTestCase' => 'lint/linter/xhpast/__tests__/ArcanistXHPASTLintNamingHookTestCase.php',
|
||||||
|
@ -210,69 +212,70 @@ phutil_register_library_map(array(
|
||||||
),
|
),
|
||||||
'function' => array(),
|
'function' => array(),
|
||||||
'xmap' => array(
|
'xmap' => array(
|
||||||
'ArcanistAliasWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistAliasWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistAmendWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistAmendWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistAnoidWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistAnoidWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistArcanistLinterTestCase' => 'ArcanistLinterTestCase',
|
'ArcanistArcanistLinterTestCase' => 'ArcanistLinterTestCase',
|
||||||
'ArcanistBackoutWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistBackoutWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistBaseCommitParserTestCase' => 'ArcanistTestCase',
|
'ArcanistBaseCommitParserTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistBaseWorkflow' => 'Phobject',
|
'ArcanistBaseUnitTestEngine' => 'ArcanistUnitTestEngine',
|
||||||
|
'ArcanistBaseWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistBaseXHPASTLinter' => 'ArcanistFutureLinter',
|
'ArcanistBaseXHPASTLinter' => 'ArcanistFutureLinter',
|
||||||
'ArcanistBookmarkWorkflow' => 'ArcanistFeatureWorkflow',
|
'ArcanistBookmarkWorkflow' => 'ArcanistFeatureWorkflow',
|
||||||
'ArcanistBranchWorkflow' => 'ArcanistFeatureWorkflow',
|
'ArcanistBranchWorkflow' => 'ArcanistFeatureWorkflow',
|
||||||
'ArcanistBritishTestCase' => 'ArcanistTestCase',
|
'ArcanistBritishTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistBrowseWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistBrowseWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistBundleTestCase' => 'ArcanistTestCase',
|
'ArcanistBundleTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistCSSLintLinter' => 'ArcanistExternalLinter',
|
'ArcanistCSSLintLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistCSSLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistCSSLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistCSharpLinter' => 'ArcanistLinter',
|
'ArcanistCSharpLinter' => 'ArcanistLinter',
|
||||||
'ArcanistCallConduitWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistCallConduitWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistCapabilityNotSupportedException' => 'Exception',
|
'ArcanistCapabilityNotSupportedException' => 'Exception',
|
||||||
'ArcanistChmodLinter' => 'ArcanistLinter',
|
'ArcanistChmodLinter' => 'ArcanistLinter',
|
||||||
'ArcanistChooseInvalidRevisionException' => 'Exception',
|
'ArcanistChooseInvalidRevisionException' => 'Exception',
|
||||||
'ArcanistChooseNoRevisionsException' => 'Exception',
|
'ArcanistChooseNoRevisionsException' => 'Exception',
|
||||||
'ArcanistCloseRevisionWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistCloseRevisionWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistCloseWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistCloseWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistClosureLinter' => 'ArcanistExternalLinter',
|
'ArcanistClosureLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistClosureLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistClosureLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistCoffeeLintLinter' => 'ArcanistExternalLinter',
|
'ArcanistCoffeeLintLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistCoffeeLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistCoffeeLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistCommentRemoverTestCase' => 'ArcanistTestCase',
|
'ArcanistCommentRemoverTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistCommitWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistCommitWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistConduitLinter' => 'ArcanistLinter',
|
'ArcanistConduitLinter' => 'ArcanistLinter',
|
||||||
'ArcanistConfigurationDrivenLintEngine' => 'ArcanistLintEngine',
|
'ArcanistConfigurationDrivenLintEngine' => 'ArcanistLintEngine',
|
||||||
'ArcanistCoverWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistCoverWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistCppcheckLinter' => 'ArcanistExternalLinter',
|
'ArcanistCppcheckLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistCppcheckLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistCppcheckLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistCpplintLinter' => 'ArcanistExternalLinter',
|
'ArcanistCpplintLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistCpplintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistCpplintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistDiffParserTestCase' => 'ArcanistTestCase',
|
'ArcanistDiffParserTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistDiffUtilsTestCase' => 'ArcanistTestCase',
|
'ArcanistDiffUtilsTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistDiffWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistDiffWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistDifferentialCommitMessageParserException' => 'Exception',
|
'ArcanistDifferentialCommitMessageParserException' => 'Exception',
|
||||||
'ArcanistDifferentialDependencyGraph' => 'AbstractDirectedGraph',
|
'ArcanistDifferentialDependencyGraph' => 'AbstractDirectedGraph',
|
||||||
'ArcanistDownloadWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistDownloadWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistEventType' => 'PhutilEventType',
|
'ArcanistEventType' => 'PhutilEventType',
|
||||||
'ArcanistExportWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistExportWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistExternalLinter' => 'ArcanistFutureLinter',
|
'ArcanistExternalLinter' => 'ArcanistFutureLinter',
|
||||||
'ArcanistFeatureWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistFeatureWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistFilenameLinter' => 'ArcanistLinter',
|
'ArcanistFilenameLinter' => 'ArcanistLinter',
|
||||||
'ArcanistFlagWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistFlagWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistFlake8Linter' => 'ArcanistExternalLinter',
|
'ArcanistFlake8Linter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistFlake8LinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistFlake8LinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistFutureLinter' => 'ArcanistLinter',
|
'ArcanistFutureLinter' => 'ArcanistLinter',
|
||||||
'ArcanistGeneratedLinter' => 'ArcanistLinter',
|
'ArcanistGeneratedLinter' => 'ArcanistLinter',
|
||||||
'ArcanistGetConfigWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistGetConfigWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistGitAPI' => 'ArcanistRepositoryAPI',
|
'ArcanistGitAPI' => 'ArcanistRepositoryAPI',
|
||||||
'ArcanistGitHookPreReceiveWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistGitHookPreReceiveWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistGoLintLinter' => 'ArcanistExternalLinter',
|
'ArcanistGoLintLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistGoLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistGoLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistHelpWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistHelpWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistHgClientChannel' => 'PhutilProtocolChannel',
|
'ArcanistHgClientChannel' => 'PhutilProtocolChannel',
|
||||||
'ArcanistHgServerChannel' => 'PhutilProtocolChannel',
|
'ArcanistHgServerChannel' => 'PhutilProtocolChannel',
|
||||||
'ArcanistInfrastructureTestCase' => 'ArcanistTestCase',
|
'ArcanistInfrastructureTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistInlinesWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistInlinesWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistInstallCertificateWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistInstallCertificateWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistJSHintLinter' => 'ArcanistExternalLinter',
|
'ArcanistJSHintLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistJSHintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistJSHintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistJSONLintLinter' => 'ArcanistExternalLinter',
|
'ArcanistJSONLintLinter' => 'ArcanistExternalLinter',
|
||||||
|
@ -281,20 +284,20 @@ phutil_register_library_map(array(
|
||||||
'ArcanistJSONLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistJSONLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistJscsLinter' => 'ArcanistExternalLinter',
|
'ArcanistJscsLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistJscsLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistJscsLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistLandWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistLandWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistLesscLinter' => 'ArcanistExternalLinter',
|
'ArcanistLesscLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistLesscLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistLesscLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistLiberateWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistLiberateWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistLintCheckstyleXMLRenderer' => 'ArcanistLintRenderer',
|
'ArcanistLintCheckstyleXMLRenderer' => 'ArcanistLintRenderer',
|
||||||
'ArcanistLintConsoleRenderer' => 'ArcanistLintRenderer',
|
'ArcanistLintConsoleRenderer' => 'ArcanistLintRenderer',
|
||||||
'ArcanistLintJSONRenderer' => 'ArcanistLintRenderer',
|
'ArcanistLintJSONRenderer' => 'ArcanistLintRenderer',
|
||||||
'ArcanistLintLikeCompilerRenderer' => 'ArcanistLintRenderer',
|
'ArcanistLintLikeCompilerRenderer' => 'ArcanistLintRenderer',
|
||||||
'ArcanistLintNoneRenderer' => 'ArcanistLintRenderer',
|
'ArcanistLintNoneRenderer' => 'ArcanistLintRenderer',
|
||||||
'ArcanistLintSummaryRenderer' => 'ArcanistLintRenderer',
|
'ArcanistLintSummaryRenderer' => 'ArcanistLintRenderer',
|
||||||
'ArcanistLintWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistLintWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistLinterTestCase' => 'ArcanistPhutilTestCase',
|
'ArcanistLinterTestCase' => 'ArcanistPhutilTestCase',
|
||||||
'ArcanistLintersWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistLintersWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistListWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistListWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistMercurialAPI' => 'ArcanistRepositoryAPI',
|
'ArcanistMercurialAPI' => 'ArcanistRepositoryAPI',
|
||||||
'ArcanistMercurialParserTestCase' => 'ArcanistTestCase',
|
'ArcanistMercurialParserTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistMergeConflictLinter' => 'ArcanistLinter',
|
'ArcanistMergeConflictLinter' => 'ArcanistLinter',
|
||||||
|
@ -306,10 +309,10 @@ phutil_register_library_map(array(
|
||||||
'ArcanistPEP8Linter' => 'ArcanistExternalLinter',
|
'ArcanistPEP8Linter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistPEP8LinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistPEP8LinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistPHPCSLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistPHPCSLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistPasteWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistPasteWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistPatchWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistPatchWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistPhpcsLinter' => 'ArcanistExternalLinter',
|
'ArcanistPhpcsLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistPhrequentWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistPhrequentWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistPhutilLibraryLinter' => 'ArcanistLinter',
|
'ArcanistPhutilLibraryLinter' => 'ArcanistLinter',
|
||||||
'ArcanistPhutilTestCaseTestCase' => 'ArcanistPhutilTestCase',
|
'ArcanistPhutilTestCaseTestCase' => 'ArcanistPhutilTestCase',
|
||||||
'ArcanistPhutilTestSkippedException' => 'Exception',
|
'ArcanistPhutilTestSkippedException' => 'Exception',
|
||||||
|
@ -324,12 +327,12 @@ phutil_register_library_map(array(
|
||||||
'ArcanistPyLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistPyLintLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistRepositoryAPIMiscTestCase' => 'ArcanistTestCase',
|
'ArcanistRepositoryAPIMiscTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistRepositoryAPIStateTestCase' => 'ArcanistTestCase',
|
'ArcanistRepositoryAPIStateTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistRevertWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistRevertWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistRubyLinter' => 'ArcanistExternalLinter',
|
'ArcanistRubyLinter' => 'ArcanistExternalLinter',
|
||||||
'ArcanistRubyLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistRubyLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistScriptAndRegexLinter' => 'ArcanistLinter',
|
'ArcanistScriptAndRegexLinter' => 'ArcanistLinter',
|
||||||
'ArcanistSetConfigWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistSetConfigWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistShellCompleteWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistShellCompleteWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistSingleLintEngine' => 'ArcanistLintEngine',
|
'ArcanistSingleLintEngine' => 'ArcanistLintEngine',
|
||||||
'ArcanistSpellingLinter' => 'ArcanistLinter',
|
'ArcanistSpellingLinter' => 'ArcanistLinter',
|
||||||
'ArcanistSpellingLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistSpellingLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
|
@ -337,22 +340,23 @@ phutil_register_library_map(array(
|
||||||
'ArcanistStopWorkflow' => 'ArcanistPhrequentWorkflow',
|
'ArcanistStopWorkflow' => 'ArcanistPhrequentWorkflow',
|
||||||
'ArcanistSubversionAPI' => 'ArcanistRepositoryAPI',
|
'ArcanistSubversionAPI' => 'ArcanistRepositoryAPI',
|
||||||
'ArcanistSubversionHookAPI' => 'ArcanistHookAPI',
|
'ArcanistSubversionHookAPI' => 'ArcanistHookAPI',
|
||||||
'ArcanistSvnHookPreCommitWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistSvnHookPreCommitWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistTasksWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistTasksWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistTestCase' => 'ArcanistPhutilTestCase',
|
'ArcanistTestCase' => 'ArcanistPhutilTestCase',
|
||||||
'ArcanistTextLinter' => 'ArcanistLinter',
|
'ArcanistTextLinter' => 'ArcanistLinter',
|
||||||
'ArcanistTextLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistTextLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'ArcanistTimeWorkflow' => 'ArcanistPhrequentWorkflow',
|
'ArcanistTimeWorkflow' => 'ArcanistPhrequentWorkflow',
|
||||||
'ArcanistTodoWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistTodoWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistUncommittedChangesException' => 'ArcanistUsageException',
|
'ArcanistUncommittedChangesException' => 'ArcanistUsageException',
|
||||||
'ArcanistUnitConsoleRenderer' => 'ArcanistUnitRenderer',
|
'ArcanistUnitConsoleRenderer' => 'ArcanistUnitRenderer',
|
||||||
'ArcanistUnitWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistUnitWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistUpgradeWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistUpgradeWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistUploadWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistUploadWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistUsageException' => 'Exception',
|
'ArcanistUsageException' => 'Exception',
|
||||||
'ArcanistUserAbortException' => 'ArcanistUsageException',
|
'ArcanistUserAbortException' => 'ArcanistUsageException',
|
||||||
'ArcanistVersionWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistVersionWorkflow' => 'ArcanistWorkflow',
|
||||||
'ArcanistWhichWorkflow' => 'ArcanistBaseWorkflow',
|
'ArcanistWhichWorkflow' => 'ArcanistWorkflow',
|
||||||
|
'ArcanistWorkflow' => 'Phobject',
|
||||||
'ArcanistXHPASTLintNamingHookTestCase' => 'ArcanistTestCase',
|
'ArcanistXHPASTLintNamingHookTestCase' => 'ArcanistTestCase',
|
||||||
'ArcanistXHPASTLintTestSwitchHook' => 'ArcanistXHPASTLintSwitchHook',
|
'ArcanistXHPASTLintTestSwitchHook' => 'ArcanistXHPASTLintSwitchHook',
|
||||||
'ArcanistXHPASTLinter' => 'ArcanistBaseXHPASTLinter',
|
'ArcanistXHPASTLinter' => 'ArcanistBaseXHPASTLinter',
|
||||||
|
@ -361,17 +365,17 @@ phutil_register_library_map(array(
|
||||||
'ArcanistXMLLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
'ArcanistXMLLinterTestCase' => 'ArcanistArcanistLinterTestCase',
|
||||||
'CSharpToolsTestEngine' => 'XUnitTestEngine',
|
'CSharpToolsTestEngine' => 'XUnitTestEngine',
|
||||||
'ComprehensiveLintEngine' => 'ArcanistLintEngine',
|
'ComprehensiveLintEngine' => 'ArcanistLintEngine',
|
||||||
'GoTestResultParser' => 'ArcanistBaseTestResultParser',
|
'GoTestResultParser' => 'ArcanistTestResultParser',
|
||||||
'GoTestResultParserTestCase' => 'ArcanistTestCase',
|
'GoTestResultParserTestCase' => 'ArcanistTestCase',
|
||||||
'NoseTestEngine' => 'ArcanistBaseUnitTestEngine',
|
'NoseTestEngine' => 'ArcanistUnitTestEngine',
|
||||||
'PHPUnitTestEngineTestCase' => 'ArcanistTestCase',
|
'PHPUnitTestEngineTestCase' => 'ArcanistTestCase',
|
||||||
'PhpunitResultParser' => 'ArcanistBaseTestResultParser',
|
'PhpunitResultParser' => 'ArcanistTestResultParser',
|
||||||
'PhpunitTestEngine' => 'ArcanistBaseUnitTestEngine',
|
'PhpunitTestEngine' => 'ArcanistUnitTestEngine',
|
||||||
'PhutilUnitTestEngine' => 'ArcanistBaseUnitTestEngine',
|
'PhutilUnitTestEngine' => 'ArcanistUnitTestEngine',
|
||||||
'PhutilUnitTestEngineTestCase' => 'ArcanistTestCase',
|
'PhutilUnitTestEngineTestCase' => 'ArcanistTestCase',
|
||||||
'PytestTestEngine' => 'ArcanistBaseUnitTestEngine',
|
'PytestTestEngine' => 'ArcanistUnitTestEngine',
|
||||||
'UnitTestableArcanistLintEngine' => 'ArcanistLintEngine',
|
'UnitTestableArcanistLintEngine' => 'ArcanistLintEngine',
|
||||||
'XUnitTestEngine' => 'ArcanistBaseUnitTestEngine',
|
'XUnitTestEngine' => 'ArcanistUnitTestEngine',
|
||||||
'XUnitTestResultParserTestCase' => 'ArcanistTestCase',
|
'XUnitTestResultParserTestCase' => 'ArcanistTestCase',
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
|
@ -38,7 +38,7 @@ class ArcanistConfiguration {
|
||||||
$workflows_by_name = array();
|
$workflows_by_name = array();
|
||||||
|
|
||||||
$workflows_by_class_name = id(new PhutilSymbolLoader())
|
$workflows_by_class_name = id(new PhutilSymbolLoader())
|
||||||
->setAncestorClass('ArcanistBaseWorkflow')
|
->setAncestorClass('ArcanistWorkflow')
|
||||||
->loadObjects();
|
->loadObjects();
|
||||||
foreach ($workflows_by_class_name as $class => $workflow) {
|
foreach ($workflows_by_class_name as $class => $workflow) {
|
||||||
$name = $workflow->getWorkflowName();
|
$name = $workflow->getWorkflowName();
|
||||||
|
@ -60,14 +60,11 @@ class ArcanistConfiguration {
|
||||||
return (bool)$this->buildWorkflow($workflow);
|
return (bool)$this->buildWorkflow($workflow);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function willRunWorkflow($command, ArcanistBaseWorkflow $workflow) {
|
public function willRunWorkflow($command, ArcanistWorkflow $workflow) {
|
||||||
// This is a hook.
|
// This is a hook.
|
||||||
}
|
}
|
||||||
|
|
||||||
public function didRunWorkflow(
|
public function didRunWorkflow($command, ArcanistWorkflow $workflow, $err) {
|
||||||
$command,
|
|
||||||
ArcanistBaseWorkflow $workflow,
|
|
||||||
$err) {
|
|
||||||
|
|
||||||
// This is a hook.
|
// This is a hook.
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,115 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages unit test execution.
|
* NOTE: Do not extend from this class, extend from
|
||||||
|
* @{class:ArcanistUnitTestEngine} instead.
|
||||||
*/
|
*/
|
||||||
abstract class ArcanistBaseUnitTestEngine {
|
abstract class ArcanistBaseUnitTestEngine extends ArcanistUnitTestEngine {}
|
||||||
|
|
||||||
private $workingCopy;
|
|
||||||
private $paths;
|
|
||||||
private $arguments = array();
|
|
||||||
protected $diffID;
|
|
||||||
private $enableAsyncTests;
|
|
||||||
private $enableCoverage;
|
|
||||||
private $runAllTests;
|
|
||||||
protected $renderer;
|
|
||||||
|
|
||||||
|
|
||||||
public function setRunAllTests($run_all_tests) {
|
|
||||||
if (!$this->supportsRunAllTests() && $run_all_tests) {
|
|
||||||
$class = get_class($this);
|
|
||||||
throw new Exception(
|
|
||||||
"Engine '{$class}' does not support --everything.");
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->runAllTests = $run_all_tests;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getRunAllTests() {
|
|
||||||
return $this->runAllTests;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function supportsRunAllTests() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function __construct() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setConfigurationManager(
|
|
||||||
ArcanistConfigurationManager $configuration_manager) {
|
|
||||||
$this->configurationManager = $configuration_manager;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getConfigurationManager() {
|
|
||||||
return $this->configurationManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function setWorkingCopy(
|
|
||||||
ArcanistWorkingCopyIdentity $working_copy) {
|
|
||||||
|
|
||||||
$this->workingCopy = $working_copy;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function getWorkingCopy() {
|
|
||||||
return $this->workingCopy;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function setPaths(array $paths) {
|
|
||||||
$this->paths = $paths;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function getPaths() {
|
|
||||||
return $this->paths;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function setArguments(array $arguments) {
|
|
||||||
$this->arguments = $arguments;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function getArgument($key, $default = null) {
|
|
||||||
return idx($this->arguments, $key, $default);
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function setEnableAsyncTests($enable_async_tests) {
|
|
||||||
$this->enableAsyncTests = $enable_async_tests;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function getEnableAsyncTests() {
|
|
||||||
return $this->enableAsyncTests;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function setEnableCoverage($enable_coverage) {
|
|
||||||
$this->enableCoverage = $enable_coverage;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function getEnableCoverage() {
|
|
||||||
return $this->enableCoverage;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setRenderer(ArcanistUnitRenderer $renderer) {
|
|
||||||
$this->renderer = $renderer;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract public function run();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Modify the return value of this function in the child class, if you do
|
|
||||||
* not need to echo the test results after all the tests have been run. This
|
|
||||||
* is the case for example when the child class prints the tests results
|
|
||||||
* while the tests are running.
|
|
||||||
*/
|
|
||||||
public function shouldEchoTestResults() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract Base class for test result parsers.
|
* Abstract base class for test result parsers.
|
||||||
*/
|
*/
|
||||||
abstract class ArcanistBaseTestResultParser {
|
abstract class ArcanistTestResultParser {
|
||||||
|
|
||||||
protected $enableCoverage;
|
protected $enableCoverage;
|
||||||
protected $projectRoot;
|
protected $projectRoot;
|
||||||
|
@ -36,13 +36,12 @@ abstract class ArcanistBaseTestResultParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse test results from provided input and return an array
|
* Parse test results from provided input and return an array of
|
||||||
* of ArcanistUnitTestResult
|
* @{class:ArcanistUnitTestResult}.
|
||||||
*
|
*
|
||||||
* @param string $path Path to test
|
* @param string Path to test.
|
||||||
* @param string $test_results String containing test results
|
* @param string String containing test results.
|
||||||
*
|
* @return array
|
||||||
* @return array ArcanistUnitTestResult
|
|
||||||
*/
|
*/
|
||||||
abstract public function parseTestResults($path, $test_results);
|
abstract public function parseTestResults($path, $test_results);
|
||||||
|
|
122
src/unit/engine/ArcanistUnitTestEngine.php
Normal file
122
src/unit/engine/ArcanistUnitTestEngine.php
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manages unit test execution.
|
||||||
|
*/
|
||||||
|
abstract class ArcanistUnitTestEngine {
|
||||||
|
|
||||||
|
private $workingCopy;
|
||||||
|
private $paths;
|
||||||
|
private $arguments = array();
|
||||||
|
protected $diffID;
|
||||||
|
private $enableAsyncTests;
|
||||||
|
private $enableCoverage;
|
||||||
|
private $runAllTests;
|
||||||
|
protected $renderer;
|
||||||
|
|
||||||
|
|
||||||
|
public function setRunAllTests($run_all_tests) {
|
||||||
|
if (!$this->supportsRunAllTests() && $run_all_tests) {
|
||||||
|
$class = get_class($this);
|
||||||
|
throw new Exception(
|
||||||
|
"Engine '{$class}' does not support --everything.");
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->runAllTests = $run_all_tests;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRunAllTests() {
|
||||||
|
return $this->runAllTests;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function supportsRunAllTests() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function __construct() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setConfigurationManager(
|
||||||
|
ArcanistConfigurationManager $configuration_manager) {
|
||||||
|
$this->configurationManager = $configuration_manager;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getConfigurationManager() {
|
||||||
|
return $this->configurationManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function setWorkingCopy(
|
||||||
|
ArcanistWorkingCopyIdentity $working_copy) {
|
||||||
|
|
||||||
|
// TODO: Remove this once ArcanistBaseUnitTestEngine is gone.
|
||||||
|
if ($this instanceof ArcanistBaseUnitTestEngine) {
|
||||||
|
phutil_deprecated(
|
||||||
|
'ArcanistBaseUnitTestEngine',
|
||||||
|
'You should extend from `ArcanistUnitTestEngine` instead.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->workingCopy = $working_copy;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function getWorkingCopy() {
|
||||||
|
return $this->workingCopy;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function setPaths(array $paths) {
|
||||||
|
$this->paths = $paths;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function getPaths() {
|
||||||
|
return $this->paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function setArguments(array $arguments) {
|
||||||
|
$this->arguments = $arguments;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function getArgument($key, $default = null) {
|
||||||
|
return idx($this->arguments, $key, $default);
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function setEnableAsyncTests($enable_async_tests) {
|
||||||
|
$this->enableAsyncTests = $enable_async_tests;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function getEnableAsyncTests() {
|
||||||
|
return $this->enableAsyncTests;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function setEnableCoverage($enable_coverage) {
|
||||||
|
$this->enableCoverage = $enable_coverage;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function getEnableCoverage() {
|
||||||
|
return $this->enableCoverage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setRenderer(ArcanistUnitRenderer $renderer) {
|
||||||
|
$this->renderer = $renderer;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract public function run();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modify the return value of this function in the child class, if you do
|
||||||
|
* not need to echo the test results after all the tests have been run. This
|
||||||
|
* is the case for example when the child class prints the tests results
|
||||||
|
* while the tests are running.
|
||||||
|
*/
|
||||||
|
public function shouldEchoTestResults() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* (To generate test output, run something like: `go test -v`)
|
* (To generate test output, run something like: `go test -v`)
|
||||||
*/
|
*/
|
||||||
final class GoTestResultParser extends ArcanistBaseTestResultParser {
|
final class GoTestResultParser extends ArcanistTestResultParser {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse test results from Go test report
|
* Parse test results from Go test report
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* Requires nose 1.1.3 for code coverage.
|
* Requires nose 1.1.3 for code coverage.
|
||||||
*/
|
*/
|
||||||
final class NoseTestEngine extends ArcanistBaseUnitTestEngine {
|
final class NoseTestEngine extends ArcanistUnitTestEngine {
|
||||||
|
|
||||||
public function run() {
|
public function run() {
|
||||||
$paths = $this->getPaths();
|
$paths = $this->getPaths();
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
* For an example on how to integrate with your test engine, see
|
* For an example on how to integrate with your test engine, see
|
||||||
* @{class:PhpunitTestEngine}.
|
* @{class:PhpunitTestEngine}.
|
||||||
*/
|
*/
|
||||||
final class PhpunitResultParser extends ArcanistBaseTestResultParser {
|
final class PhpunitResultParser extends ArcanistTestResultParser {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse test results from phpunit json report
|
* Parse test results from phpunit json report
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* PHPUnit wrapper.
|
* PHPUnit wrapper.
|
||||||
*/
|
*/
|
||||||
final class PhpunitTestEngine extends ArcanistBaseUnitTestEngine {
|
final class PhpunitTestEngine extends ArcanistUnitTestEngine {
|
||||||
|
|
||||||
private $configFile;
|
private $configFile;
|
||||||
private $phpunitBinary = 'phpunit';
|
private $phpunitBinary = 'phpunit';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Very basic unit test engine which runs libphutil tests.
|
* Very basic unit test engine which runs libphutil tests.
|
||||||
*/
|
*/
|
||||||
final class PhutilUnitTestEngine extends ArcanistBaseUnitTestEngine {
|
final class PhutilUnitTestEngine extends ArcanistUnitTestEngine {
|
||||||
|
|
||||||
protected function supportsRunAllTests() {
|
protected function supportsRunAllTests() {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Very basic 'py.test' unit test engine wrapper.
|
* Very basic 'py.test' unit test engine wrapper.
|
||||||
*/
|
*/
|
||||||
final class PytestTestEngine extends ArcanistBaseUnitTestEngine {
|
final class PytestTestEngine extends ArcanistUnitTestEngine {
|
||||||
|
|
||||||
public function run() {
|
public function run() {
|
||||||
$working_copy = $this->getWorkingCopy();
|
$working_copy = $this->getWorkingCopy();
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
*
|
*
|
||||||
* @concrete-extensible
|
* @concrete-extensible
|
||||||
*/
|
*/
|
||||||
class XUnitTestEngine extends ArcanistBaseUnitTestEngine {
|
class XUnitTestEngine extends ArcanistUnitTestEngine {
|
||||||
|
|
||||||
protected $runtimeEngine;
|
protected $runtimeEngine;
|
||||||
protected $buildEngine;
|
protected $buildEngine;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Manages aliases for commands with options.
|
* Manages aliases for commands with options.
|
||||||
*/
|
*/
|
||||||
final class ArcanistAliasWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistAliasWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'alias';
|
return 'alias';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Synchronizes commit messages from Differential.
|
* Synchronizes commit messages from Differential.
|
||||||
*/
|
*/
|
||||||
final class ArcanistAmendWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistAmendWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'amend';
|
return 'amend';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class ArcanistAnoidWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistAnoidWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'anoid';
|
return 'anoid';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Runs git revert and assigns a high priority task to original author.
|
* Runs git revert and assigns a high priority task to original author.
|
||||||
*/
|
*/
|
||||||
final class ArcanistBackoutWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistBackoutWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $console;
|
private $console;
|
||||||
private $conduit;
|
private $conduit;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Browse files in the Diffusion web interface.
|
* Browse files in the Diffusion web interface.
|
||||||
*/
|
*/
|
||||||
final class ArcanistBrowseWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistBrowseWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'browse';
|
return 'browse';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Provides command-line access to the Conduit API.
|
* Provides command-line access to the Conduit API.
|
||||||
*/
|
*/
|
||||||
final class ArcanistCallConduitWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistCallConduitWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'call-conduit';
|
return 'call-conduit';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Explicitly closes Differential revisions.
|
* Explicitly closes Differential revisions.
|
||||||
*/
|
*/
|
||||||
final class ArcanistCloseRevisionWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistCloseRevisionWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'close-revision';
|
return 'close-revision';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Close a task.
|
* Close a task.
|
||||||
*/
|
*/
|
||||||
final class ArcanistCloseWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistCloseWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $tasks;
|
private $tasks;
|
||||||
private $statusOptions;
|
private $statusOptions;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Executes "svn commit" once a revision has been "Accepted".
|
* Executes "svn commit" once a revision has been "Accepted".
|
||||||
*/
|
*/
|
||||||
final class ArcanistCommitWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistCommitWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $revisionID;
|
private $revisionID;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Covers your professional reputation by blaming changes to locate reviewers.
|
* Covers your professional reputation by blaming changes to locate reviewers.
|
||||||
*/
|
*/
|
||||||
final class ArcanistCoverWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistCoverWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'cover';
|
return 'cover';
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
* @task diffspec Diff Specification
|
* @task diffspec Diff Specification
|
||||||
* @task diffprop Diff Properties
|
* @task diffprop Diff Properties
|
||||||
*/
|
*/
|
||||||
final class ArcanistDiffWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistDiffWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $console;
|
private $console;
|
||||||
private $hasWarnedExternals = false;
|
private $hasWarnedExternals = false;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Download a file from Phabricator.
|
* Download a file from Phabricator.
|
||||||
*/
|
*/
|
||||||
final class ArcanistDownloadWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistDownloadWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $id;
|
private $id;
|
||||||
private $saveAs;
|
private $saveAs;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Exports changes from Differential or the working copy to a file.
|
* Exports changes from Differential or the working copy to a file.
|
||||||
*/
|
*/
|
||||||
final class ArcanistExportWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistExportWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
const SOURCE_LOCAL = 'local';
|
const SOURCE_LOCAL = 'local';
|
||||||
const SOURCE_DIFF = 'diff';
|
const SOURCE_DIFF = 'diff';
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* @concrete-extensible
|
* @concrete-extensible
|
||||||
*/
|
*/
|
||||||
class ArcanistFeatureWorkflow extends ArcanistBaseWorkflow {
|
class ArcanistFeatureWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $branches;
|
private $branches;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class ArcanistFlagWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistFlagWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private static $colorMap = array(
|
private static $colorMap = array(
|
||||||
0 => 'red', // Red
|
0 => 'red', // Red
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Read configuration settings.
|
* Read configuration settings.
|
||||||
*/
|
*/
|
||||||
final class ArcanistGetConfigWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistGetConfigWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'get-config';
|
return 'get-config';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Installable as a git pre-receive hook.
|
* Installable as a git pre-receive hook.
|
||||||
*/
|
*/
|
||||||
final class ArcanistGitHookPreReceiveWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistGitHookPreReceiveWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'git-hook-pre-receive';
|
return 'git-hook-pre-receive';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Seduces the reader with majestic prose.
|
* Seduces the reader with majestic prose.
|
||||||
*/
|
*/
|
||||||
final class ArcanistHelpWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistHelpWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'help';
|
return 'help';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class ArcanistInlinesWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistInlinesWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'inlines';
|
return 'inlines';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Installs arcanist certificates.
|
* Installs arcanist certificates.
|
||||||
*/
|
*/
|
||||||
final class ArcanistInstallCertificateWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistInstallCertificateWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'install-certificate';
|
return 'install-certificate';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Lands a branch by rebasing, merging and amending it.
|
* Lands a branch by rebasing, merging and amending it.
|
||||||
*/
|
*/
|
||||||
final class ArcanistLandWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistLandWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $isGit;
|
private $isGit;
|
||||||
private $isGitSvn;
|
private $isGitSvn;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
* definition it had when it first loaded. This is normally fine, but
|
* definition it had when it first loaded. This is normally fine, but
|
||||||
* problematic in this case because `arc liberate` modifies library definitions.
|
* problematic in this case because `arc liberate` modifies library definitions.
|
||||||
*/
|
*/
|
||||||
final class ArcanistLiberateWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistLiberateWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'liberate';
|
return 'liberate';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Runs lint rules on changes.
|
* Runs lint rules on changes.
|
||||||
*/
|
*/
|
||||||
final class ArcanistLintWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistLintWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
const RESULT_OKAY = 0;
|
const RESULT_OKAY = 0;
|
||||||
const RESULT_WARNINGS = 1;
|
const RESULT_WARNINGS = 1;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* List available linters.
|
* List available linters.
|
||||||
*/
|
*/
|
||||||
final class ArcanistLintersWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistLintersWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'linters';
|
return 'linters';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Lists open revisions in Differential.
|
* Lists open revisions in Differential.
|
||||||
*/
|
*/
|
||||||
final class ArcanistListWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistListWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'list';
|
return 'list';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Upload a chunk of text to the Paste application, or download one.
|
* Upload a chunk of text to the Paste application, or download one.
|
||||||
*/
|
*/
|
||||||
final class ArcanistPasteWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistPasteWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $id;
|
private $id;
|
||||||
private $language;
|
private $language;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Applies changes from Differential or a file to the working copy.
|
* Applies changes from Differential or a file to the working copy.
|
||||||
*/
|
*/
|
||||||
final class ArcanistPatchWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistPatchWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
const SOURCE_BUNDLE = 'bundle';
|
const SOURCE_BUNDLE = 'bundle';
|
||||||
const SOURCE_PATCH = 'patch';
|
const SOURCE_PATCH = 'patch';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Base workflow for Phrequent workflows
|
* Base workflow for Phrequent workflows
|
||||||
*/
|
*/
|
||||||
abstract class ArcanistPhrequentWorkflow extends ArcanistBaseWorkflow {
|
abstract class ArcanistPhrequentWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
protected function printCurrentTracking() {
|
protected function printCurrentTracking() {
|
||||||
$conduit = $this->getConduit();
|
$conduit = $this->getConduit();
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Redirects to `arc backout` workflow.
|
* Redirects to `arc backout` workflow.
|
||||||
*/
|
*/
|
||||||
final class ArcanistRevertWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistRevertWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'revert';
|
return 'revert';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Write configuration settings.
|
* Write configuration settings.
|
||||||
*/
|
*/
|
||||||
final class ArcanistSetConfigWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistSetConfigWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'set-config';
|
return 'set-config';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Powers shell-completion scripts.
|
* Powers shell-completion scripts.
|
||||||
*/
|
*/
|
||||||
final class ArcanistShellCompleteWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistShellCompleteWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'shell-complete';
|
return 'shell-complete';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Installable as an SVN "pre-commit" hook.
|
* Installable as an SVN "pre-commit" hook.
|
||||||
*/
|
*/
|
||||||
final class ArcanistSvnHookPreCommitWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistSvnHookPreCommitWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'svn-hook-pre-commit';
|
return 'svn-hook-pre-commit';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Displays User Tasks.
|
* Displays User Tasks.
|
||||||
*/
|
*/
|
||||||
final class ArcanistTasksWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistTasksWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $tasks;
|
private $tasks;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Quickly create a task.
|
* Quickly create a task.
|
||||||
*/
|
*/
|
||||||
final class ArcanistTodoWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistTodoWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'todo';
|
return 'todo';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Runs unit tests which cover your changes.
|
* Runs unit tests which cover your changes.
|
||||||
*/
|
*/
|
||||||
final class ArcanistUnitWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistUnitWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
const RESULT_OKAY = 0;
|
const RESULT_OKAY = 0;
|
||||||
const RESULT_UNSOUND = 1;
|
const RESULT_UNSOUND = 1;
|
||||||
|
@ -133,10 +133,10 @@ EOTEXT
|
||||||
$paths = $this->selectPathsForWorkflow($paths, $rev);
|
$paths = $this->selectPathsForWorkflow($paths, $rev);
|
||||||
|
|
||||||
if (!class_exists($engine_class) ||
|
if (!class_exists($engine_class) ||
|
||||||
!is_subclass_of($engine_class, 'ArcanistBaseUnitTestEngine')) {
|
!is_subclass_of($engine_class, 'ArcanistUnitTestEngine')) {
|
||||||
throw new ArcanistUsageException(
|
throw new ArcanistUsageException(
|
||||||
"Configured unit test engine '{$engine_class}' is not a subclass of ".
|
"Configured unit test engine '{$engine_class}' is not a subclass of ".
|
||||||
"'ArcanistBaseUnitTestEngine'.");
|
"'ArcanistUnitTestEngine'.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->engine = newv($engine_class, array());
|
$this->engine = newv($engine_class, array());
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Upgrade arcanist itself.
|
* Upgrade arcanist itself.
|
||||||
*/
|
*/
|
||||||
final class ArcanistUpgradeWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistUpgradeWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'upgrade';
|
return 'upgrade';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Upload a file to Phabricator.
|
* Upload a file to Phabricator.
|
||||||
*/
|
*/
|
||||||
final class ArcanistUploadWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistUploadWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
private $paths;
|
private $paths;
|
||||||
private $json;
|
private $json;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Display the current version of Arcanist.
|
* Display the current version of Arcanist.
|
||||||
*/
|
*/
|
||||||
final class ArcanistVersionWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistVersionWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'version';
|
return 'version';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Show which revision or revisions are in the working copy.
|
* Show which revision or revisions are in the working copy.
|
||||||
*/
|
*/
|
||||||
final class ArcanistWhichWorkflow extends ArcanistBaseWorkflow {
|
final class ArcanistWhichWorkflow extends ArcanistWorkflow {
|
||||||
|
|
||||||
public function getWorkflowName() {
|
public function getWorkflowName() {
|
||||||
return 'which';
|
return 'which';
|
||||||
|
|
1798
src/workflow/ArcanistWorkflow.php
Normal file
1798
src/workflow/ArcanistWorkflow.php
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue