|
1 | | -use std::env; |
2 | | -use std::fmt::Write; |
3 | | -use std::net::SocketAddr; |
4 | | -use std::path::PathBuf; |
5 | | -use std::str::FromStr; |
6 | | -use std::sync::Arc; |
7 | | - |
8 | 1 | use anyhow::{Context as _, Result, anyhow}; |
9 | 2 | use clap::{Parser, Subcommand, ValueEnum}; |
10 | | -use docs_rs::db::{self, CrateId, Overrides, add_path_into_database}; |
11 | | -use docs_rs::utils::{ |
12 | | - ConfigName, get_config, get_crate_pattern_and_priority, list_crate_priorities, queue_builder, |
13 | | - remove_crate_priority, set_config, set_crate_priority, |
14 | | -}; |
15 | 3 | use docs_rs::{ |
16 | | - Config, Context, PackageKind, RustwideBuilder, start_background_metrics_webserver, |
17 | | - start_web_server, |
| 4 | + Config, Context, PackageKind, RustwideBuilder, |
| 5 | + db::{self, CrateId, Overrides, add_path_into_database}, |
| 6 | + start_background_metrics_webserver, start_web_server, |
| 7 | + utils::{ |
| 8 | + ConfigName, get_config, get_crate_pattern_and_priority, list_crate_priorities, |
| 9 | + queue_builder, remove_crate_priority, set_config, set_crate_priority, |
| 10 | + }, |
18 | 11 | }; |
19 | 12 | use futures_util::StreamExt; |
20 | 13 | use sentry::{ |
21 | 14 | TransactionContext, integrations::panic as sentry_panic, |
22 | 15 | integrations::tracing as sentry_tracing, |
23 | 16 | }; |
| 17 | +use std::{env, fmt::Write, net::SocketAddr, path::PathBuf, str::FromStr, sync::Arc}; |
| 18 | +use tokio::runtime; |
24 | 19 | use tracing_log::LogTracer; |
25 | 20 | use tracing_subscriber::{EnvFilter, filter::Directive, prelude::*}; |
26 | 21 |
|
@@ -183,7 +178,13 @@ enum CommandLine { |
183 | 178 | impl CommandLine { |
184 | 179 | fn handle_args(self) -> Result<()> { |
185 | 180 | let config = Config::from_env()?.build()?; |
186 | | - let ctx = Context::from_config(config)?; |
| 181 | + let runtime = Arc::new( |
| 182 | + runtime::Builder::new_multi_thread() |
| 183 | + .enable_all() |
| 184 | + .build() |
| 185 | + .expect("failed to initialize runtime"), |
| 186 | + ); |
| 187 | + let ctx = runtime.block_on(Context::from_config(config))?; |
187 | 188 |
|
188 | 189 | match self { |
189 | 190 | Self::Build { subcommand } => subcommand.handle_args(ctx)?, |
|
0 commit comments