示例#1
0
     // to some degree, e.g. "arc install-certificate" does it for you.
     $conduit_uri = new PhutilURI($conduit_uri);
     $conduit_uri->setPath('/api/');
     $conduit_uri = (string) $conduit_uri;
 }
 $workflow->setConduitURI($conduit_uri);
 // Apply global CA bundle from configs.
 $ca_bundle = $configuration_manager->getConfigFromAnySource('https.cabundle');
 if ($ca_bundle) {
     $ca_bundle = Filesystem::resolvePath($ca_bundle, $working_copy->getProjectRoot());
     HTTPSFuture::setGlobalCABundleFromPath($ca_bundle);
 }
 $blind_key = 'https.blindly-trust-domains';
 $blind_trust = $configuration_manager->getConfigFromAnySource($blind_key);
 if ($blind_trust) {
     $trust_extension = PhutilHTTPEngineExtension::requireExtension(ArcanistBlindlyTrustHTTPEngineExtension::EXTENSIONKEY);
     $trust_extension->setDomains($blind_trust);
 }
 if ($need_conduit) {
     if (!$conduit_uri) {
         $message = phutil_console_format("%s\n\n  - %s\n  - %s\n  - %s\n", pht('This command requires arc to connect to a Phabricator install, ' . 'but no Phabricator installation is configured. To configure a ' . 'Phabricator URI:'), pht('set a default location with `%s`; or', 'arc set-config default <uri>'), pht('specify `%s` explicitly; or', '--conduit-uri=uri'), pht("run `%s` in a working copy with an '%s'.", 'arc', '.arcconfig'));
         $message = phutil_console_wrap($message);
         throw new ArcanistUsageException($message);
     }
     $workflow->establishConduit();
 }
 $hosts_config = idx($user_config, 'hosts', array());
 $host_config = idx($hosts_config, $conduit_uri, array());
 $user_name = idx($host_config, 'user');
 $certificate = idx($host_config, 'cert');
 $conduit_token = idx($host_config, 'token');