Changeset View
Changeset View
Standalone View
Standalone View
scripts/arcanist.php
| Show All 30 Lines | array( | ||||
| 'help' => pht('Connect to Phabricator install specified by __uri__.'), | 'help' => pht('Connect to Phabricator install specified by __uri__.'), | ||||
| ), | ), | ||||
| array( | array( | ||||
| 'name' => 'conduit-token', | 'name' => 'conduit-token', | ||||
| 'param' => 'token', | 'param' => 'token', | ||||
| 'help' => pht('Use a specific authentication token.'), | 'help' => pht('Use a specific authentication token.'), | ||||
| ), | ), | ||||
| array( | array( | ||||
| 'name' => 'anonymous', | |||||
| 'help' => pht('Run workflow as a public user, without authenticating.'), | |||||
| ), | |||||
| array( | |||||
| 'name' => 'conduit-version', | 'name' => 'conduit-version', | ||||
| 'param' => 'version', | 'param' => 'version', | ||||
| 'help' => pht( | 'help' => pht( | ||||
| '(Developers) Mock client version in protocol handshake.'), | '(Developers) Mock client version in protocol handshake.'), | ||||
| ), | ), | ||||
| array( | array( | ||||
| 'name' => 'conduit-timeout', | 'name' => 'conduit-timeout', | ||||
| 'param' => 'timeout', | 'param' => 'timeout', | ||||
| Show All 12 Lines | |||||
| $config_trace_mode = $base_args->getArg('trace'); | $config_trace_mode = $base_args->getArg('trace'); | ||||
| $force_conduit = $base_args->getArg('conduit-uri'); | $force_conduit = $base_args->getArg('conduit-uri'); | ||||
| $force_token = $base_args->getArg('conduit-token'); | $force_token = $base_args->getArg('conduit-token'); | ||||
| $force_conduit_version = $base_args->getArg('conduit-version'); | $force_conduit_version = $base_args->getArg('conduit-version'); | ||||
| $conduit_timeout = $base_args->getArg('conduit-timeout'); | $conduit_timeout = $base_args->getArg('conduit-timeout'); | ||||
| $skip_arcconfig = $base_args->getArg('skip-arcconfig'); | $skip_arcconfig = $base_args->getArg('skip-arcconfig'); | ||||
| $custom_arcrc = $base_args->getArg('arcrc-file'); | $custom_arcrc = $base_args->getArg('arcrc-file'); | ||||
| $is_anonymous = $base_args->getArg('anonymous'); | |||||
| $load = $base_args->getArg('load-phutil-library'); | $load = $base_args->getArg('load-phutil-library'); | ||||
| $help = $base_args->getArg('help'); | $help = $base_args->getArg('help'); | ||||
| $args = array_values($base_args->getUnconsumedArgumentVector()); | $args = array_values($base_args->getUnconsumedArgumentVector()); | ||||
| $working_directory = getcwd(); | $working_directory = getcwd(); | ||||
| $console = PhutilConsole::getConsole(); | $console = PhutilConsole::getConsole(); | ||||
| $config = null; | $config = null; | ||||
| $workflow = null; | $workflow = null; | ||||
| ▲ Show 20 Lines • Show All 243 Lines • ▼ Show 20 Lines | try { | ||||
| $host_config = idx($hosts_config, $conduit_uri, array()); | $host_config = idx($hosts_config, $conduit_uri, array()); | ||||
| $user_name = idx($host_config, 'user'); | $user_name = idx($host_config, 'user'); | ||||
| $certificate = idx($host_config, 'cert'); | $certificate = idx($host_config, 'cert'); | ||||
| $conduit_token = idx($host_config, 'token'); | $conduit_token = idx($host_config, 'token'); | ||||
| if ($force_token) { | if ($force_token) { | ||||
| $conduit_token = $force_token; | $conduit_token = $force_token; | ||||
| } | } | ||||
| if ($is_anonymous) { | |||||
| $conduit_token = null; | |||||
| } | |||||
| $description = implode(' ', $original_argv); | $description = implode(' ', $original_argv); | ||||
| $credentials = array( | $credentials = array( | ||||
| 'user' => $user_name, | 'user' => $user_name, | ||||
| 'certificate' => $certificate, | 'certificate' => $certificate, | ||||
| 'description' => $description, | 'description' => $description, | ||||
| 'token' => $conduit_token, | 'token' => $conduit_token, | ||||
| ); | ); | ||||
| $workflow->setConduitCredentials($credentials); | $workflow->setConduitCredentials($credentials); | ||||
| $basic_user = $configuration_manager->getConfigFromAnySource( | |||||
| 'http.basicauth.user'); | |||||
| $basic_pass = $configuration_manager->getConfigFromAnySource( | |||||
| 'http.basicauth.pass'); | |||||
| $engine = id(new ArcanistConduitEngine()) | |||||
| ->setConduitURI($conduit_uri) | |||||
| ->setConduitToken($conduit_token) | |||||
| ->setBasicAuthUser($basic_user) | |||||
| ->setBasicAuthPass($basic_pass); | |||||
| if ($conduit_timeout) { | |||||
| $engine->setConduitTimeout($conduit_timeout); | |||||
| } | |||||
| $workflow->setConduitEngine($engine); | |||||
| if ($need_auth) { | if ($need_auth) { | ||||
| if ((!$user_name || !$certificate) && (!$conduit_token)) { | if ((!$user_name || !$certificate) && (!$conduit_token)) { | ||||
| $arc = 'arc'; | $arc = 'arc'; | ||||
| if ($force_conduit) { | if ($force_conduit) { | ||||
| $arc .= csprintf(' --conduit-uri=%s', $conduit_uri); | $arc .= csprintf(' --conduit-uri=%s', $conduit_uri); | ||||
| } | } | ||||
| $conduit_domain = id(new PhutilURI($conduit_uri))->getDomain(); | $conduit_domain = id(new PhutilURI($conduit_uri))->getDomain(); | ||||
| ▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | try { | ||||
| echo $ex->getMessage()."\n"; | echo $ex->getMessage()."\n"; | ||||
| } catch (Exception $ex) { | } catch (Exception $ex) { | ||||
| $is_usage = ($ex instanceof ArcanistUsageException); | $is_usage = ($ex instanceof ArcanistUsageException); | ||||
| if ($is_usage) { | if ($is_usage) { | ||||
| fwrite(STDERR, phutil_console_format( | fwrite(STDERR, phutil_console_format( | ||||
| "**%s** %s\n", | "**%s** %s\n", | ||||
| pht('Usage Exception:'), | pht('Usage Exception:'), | ||||
| $ex->getMessage())); | rtrim($ex->getMessage()))); | ||||
| } | } | ||||
| if ($config) { | if ($config) { | ||||
| $config->didAbortWorkflow($command, $workflow, $ex); | $config->didAbortWorkflow($command, $workflow, $ex); | ||||
| } | } | ||||
| if ($config_trace_mode) { | if ($config_trace_mode) { | ||||
| fwrite(STDERR, "\n"); | fwrite(STDERR, "\n"); | ||||
| ▲ Show 20 Lines • Show All 253 Lines • Show Last 20 Lines | |||||