Index: scripts/diviner/diviner.php =================================================================== --- scripts/diviner/diviner.php +++ scripts/diviner/diviner.php @@ -14,9 +14,8 @@ ); $args->parseStandardArguments(); -$args->parseWorkflows( - array( - new DivinerGenerateWorkflow(), - new DivinerAtomizeWorkflow(), - new PhutilHelpArgumentWorkflow(), - )); +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('DivinerWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); +$args->parseWorkflows($workflows); Index: scripts/drydock/drydock_control.php =================================================================== --- scripts/drydock/drydock_control.php +++ scripts/drydock/drydock_control.php @@ -14,12 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new DrydockManagementLeaseWorkflow(), - new DrydockManagementCloseWorkflow(), - new DrydockManagementReleaseWorkflow(), - new DrydockManagementCreateResourceWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('DrydockManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/fact/manage_facts.php =================================================================== --- scripts/fact/manage_facts.php +++ scripts/fact/manage_facts.php @@ -15,13 +15,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorFactManagementDestroyWorkflow(), - new PhabricatorFactManagementAnalyzeWorkflow(), - new PhabricatorFactManagementStatusWorkflow(), - new PhabricatorFactManagementListWorkflow(), - new PhabricatorFactManagementCursorsWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorFactManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/files/manage_files.php =================================================================== --- scripts/files/manage_files.php +++ scripts/files/manage_files.php @@ -14,12 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorFilesManagementEnginesWorkflow(), - new PhabricatorFilesManagementMigrateWorkflow(), - new PhabricatorFilesManagementRebuildWorkflow(), - new PhabricatorFilesManagementPurgeWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorFilesManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/lipsum/manage_lipsum.php =================================================================== --- scripts/lipsum/manage_lipsum.php +++ scripts/lipsum/manage_lipsum.php @@ -14,9 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorLipsumGenerateWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorLipsumManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/mail/manage_mail.php =================================================================== --- scripts/mail/manage_mail.php +++ scripts/mail/manage_mail.php @@ -14,15 +14,9 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhutilHelpArgumentWorkflow(), - new PhabricatorMailManagementResendWorkflow(), - new PhabricatorMailManagementShowOutboundWorkflow(), - new PhabricatorMailManagementShowInboundWorkflow(), - new PhabricatorMailManagementSendTestWorkflow(), - new PhabricatorMailManagementReceiveTestWorkflow(), - new PhabricatorMailManagementListInboundWorkflow(), - new PhabricatorMailManagementListOutboundWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorMailManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); + Index: scripts/repository/manage_repositories.php =================================================================== --- scripts/repository/manage_repositories.php +++ scripts/repository/manage_repositories.php @@ -15,16 +15,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorRepositoryManagementPullWorkflow(), - new PhabricatorRepositoryManagementDiscoverWorkflow(), - new PhabricatorRepositoryManagementEditWorkflow(), - new PhabricatorRepositoryManagementListWorkflow(), - new PhabricatorRepositoryManagementDeleteWorkflow(), - new PhabricatorRepositoryManagementMarkImportedWorkflow(), - new PhabricatorRepositoryManagementLookupUsersWorkflow(), - new PhabricatorRepositoryManagementImportingWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorRepositoryManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/search/manage_search.php =================================================================== --- scripts/search/manage_search.php +++ scripts/search/manage_search.php @@ -14,9 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorSearchManagementIndexWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorSearchManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/setup/manage_audit.php =================================================================== --- scripts/setup/manage_audit.php +++ scripts/setup/manage_audit.php @@ -14,9 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorAuditManagementDeleteWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorAuditManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/setup/manage_auth.php =================================================================== --- scripts/setup/manage_auth.php +++ scripts/setup/manage_auth.php @@ -14,11 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorAuthManagementRecoverWorkflow(), - new PhabricatorAuthManagementRefreshWorkflow(), - new PhabricatorAuthManagementLDAPWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorAuthManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/setup/manage_config.php =================================================================== --- scripts/setup/manage_config.php +++ scripts/setup/manage_config.php @@ -14,12 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorConfigManagementListWorkflow(), - new PhabricatorConfigManagementSetWorkflow(), - new PhabricatorConfigManagementGetWorkflow(), - new PhabricatorConfigManagementDeleteWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorConfigManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/setup/manage_feed.php =================================================================== --- scripts/setup/manage_feed.php +++ scripts/setup/manage_feed.php @@ -14,9 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorFeedManagementRepublishWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorFeedManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/setup/manage_harbormaster.php =================================================================== --- scripts/setup/manage_harbormaster.php +++ scripts/setup/manage_harbormaster.php @@ -18,5 +18,4 @@ ->setAncestorClass('HarbormasterManagementWorkflow') ->loadObjects(); $workflows[] = new PhutilHelpArgumentWorkflow(); - $args->parseWorkflows($workflows); Index: scripts/setup/manage_policy.php =================================================================== --- scripts/setup/manage_policy.php +++ scripts/setup/manage_policy.php @@ -14,10 +14,8 @@ ); $args->parseStandardArguments(); -$workflows = array( - new PhabricatorPolicyManagementShowWorkflow(), - new PhabricatorPolicyManagementUnlockWorkflow(), - new PhutilHelpArgumentWorkflow(), -); - +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorPolicyManagementWorkflow') + ->loadObjects(); +$workflows[] = new PhutilHelpArgumentWorkflow(); $args->parseWorkflows($workflows); Index: scripts/sql/manage_storage.php =================================================================== --- scripts/sql/manage_storage.php +++ scripts/sql/manage_storage.php @@ -99,14 +99,9 @@ exit(1); } -$workflows = array( - new PhabricatorStorageManagementDatabasesWorkflow(), - new PhabricatorStorageManagementDestroyWorkflow(), - new PhabricatorStorageManagementDumpWorkflow(), - new PhabricatorStorageManagementStatusWorkflow(), - new PhabricatorStorageManagementProbeWorkflow(), - new PhabricatorStorageManagementUpgradeWorkflow(), -); +$workflows = id(new PhutilSymbolLoader()) + ->setAncestorClass('PhabricatorStorageManagementWorkflow') + ->loadObjects(); $patches = PhabricatorSQLPatchList::buildAllPatches(); Index: src/__phutil_library_map__.php =================================================================== --- src/__phutil_library_map__.php +++ src/__phutil_library_map__.php @@ -3740,7 +3740,7 @@ 'PhabricatorBuiltinPatchList' => 'PhabricatorSQLPatchList', 'PhabricatorBusyExample' => 'PhabricatorUIExample', 'PhabricatorCacheDAO' => 'PhabricatorLiskDAO', - 'PhabricatorCacheManagementPurgeWorkflow' => 'PhabricatorSearchManagementWorkflow', + 'PhabricatorCacheManagementPurgeWorkflow' => 'PhabricatorCacheManagementWorkflow', 'PhabricatorCacheManagementWorkflow' => 'PhabricatorManagementWorkflow', 'PhabricatorCalendarBrowseController' => 'PhabricatorCalendarController', 'PhabricatorCalendarController' => 'PhabricatorController', @@ -4113,13 +4113,13 @@ 'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'PhabricatorMailImplementationAdapter', 'PhabricatorMailImplementationSendGridAdapter' => 'PhabricatorMailImplementationAdapter', 'PhabricatorMailImplementationTestAdapter' => 'PhabricatorMailImplementationAdapter', - 'PhabricatorMailManagementListInboundWorkflow' => 'PhabricatorSearchManagementWorkflow', - 'PhabricatorMailManagementListOutboundWorkflow' => 'PhabricatorSearchManagementWorkflow', - 'PhabricatorMailManagementReceiveTestWorkflow' => 'PhabricatorSearchManagementWorkflow', - 'PhabricatorMailManagementResendWorkflow' => 'PhabricatorSearchManagementWorkflow', - 'PhabricatorMailManagementSendTestWorkflow' => 'PhabricatorSearchManagementWorkflow', - 'PhabricatorMailManagementShowInboundWorkflow' => 'PhabricatorSearchManagementWorkflow', - 'PhabricatorMailManagementShowOutboundWorkflow' => 'PhabricatorSearchManagementWorkflow', + 'PhabricatorMailManagementListInboundWorkflow' => 'PhabricatorMailManagementWorkflow', + 'PhabricatorMailManagementListOutboundWorkflow' => 'PhabricatorMailManagementWorkflow', + 'PhabricatorMailManagementReceiveTestWorkflow' => 'PhabricatorMailManagementWorkflow', + 'PhabricatorMailManagementResendWorkflow' => 'PhabricatorMailManagementWorkflow', + 'PhabricatorMailManagementSendTestWorkflow' => 'PhabricatorMailManagementWorkflow', + 'PhabricatorMailManagementShowInboundWorkflow' => 'PhabricatorMailManagementWorkflow', + 'PhabricatorMailManagementShowOutboundWorkflow' => 'PhabricatorMailManagementWorkflow', 'PhabricatorMailManagementWorkflow' => 'PhabricatorManagementWorkflow', 'PhabricatorMailReceiverTestCase' => 'PhabricatorTestCase', 'PhabricatorMailingListPHIDTypeList' => 'PhabricatorPHIDType', Index: src/applications/cache/management/PhabricatorCacheManagementPurgeWorkflow.php =================================================================== --- src/applications/cache/management/PhabricatorCacheManagementPurgeWorkflow.php +++ src/applications/cache/management/PhabricatorCacheManagementPurgeWorkflow.php @@ -1,7 +1,7 @@