Skip to content

Commit ea22fe5

Browse files
committed
Auto merge of #13506 - epage:context, r=weihanglo
refactor: Clarify more Config -> Context ### What does this PR try to resolve? This is a follow up to #13409 and #13486 ### How should we test and review this PR? ### Additional information
2 parents ecb8193 + a7ba26b commit ea22fe5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+75
-74
lines changed

crates/xtask-bump-check/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ fn main() {
66
let cli = xtask::cli();
77
let matches = cli.get_matches();
88

9-
let mut gctx = cargo::util::config::GlobalContext::default().unwrap_or_else(|e| {
9+
let mut gctx = cargo::util::context::GlobalContext::default().unwrap_or_else(|e| {
1010
let mut eval = cargo::core::shell::Shell::new();
1111
cargo::exit_with_error(e.into(), &mut eval)
1212
});

src/bin/cargo/cli.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use anyhow::{anyhow, Context as _};
22
use cargo::core::{features, CliUnstable};
3-
use cargo::util::config::TermConfig;
3+
use cargo::util::context::TermConfig;
44
use cargo::{drop_print, drop_println, CargoResult};
55
use clap::builder::UnknownArgumentValueParser;
66
use itertools::Itertools;
@@ -57,21 +57,21 @@ pub fn main(gctx: &mut GlobalContext) -> CliResult {
5757
== Some("help")
5858
{
5959
// Don't let config errors get in the way of parsing arguments
60-
let _ = config_configure(gctx, &expanded_args, None, global_args, None);
60+
let _ = configure_gctx(gctx, &expanded_args, None, global_args, None);
6161
print_zhelp(gctx);
6262
} else if expanded_args.flag("version") {
6363
// Don't let config errors get in the way of parsing arguments
64-
let _ = config_configure(gctx, &expanded_args, None, global_args, None);
64+
let _ = configure_gctx(gctx, &expanded_args, None, global_args, None);
6565
let version = get_version_string(is_verbose);
6666
drop_print!(gctx, "{}", version);
6767
} else if let Some(code) = expanded_args.get_one::<String>("explain") {
6868
// Don't let config errors get in the way of parsing arguments
69-
let _ = config_configure(gctx, &expanded_args, None, global_args, None);
69+
let _ = configure_gctx(gctx, &expanded_args, None, global_args, None);
7070
let mut procss = gctx.load_global_rustc(None)?.process();
7171
procss.arg("--explain").arg(code).exec()?;
7272
} else if expanded_args.flag("list") {
7373
// Don't let config errors get in the way of parsing arguments
74-
let _ = config_configure(gctx, &expanded_args, None, global_args, None);
74+
let _ = configure_gctx(gctx, &expanded_args, None, global_args, None);
7575
print_list(gctx, is_verbose);
7676
} else {
7777
let (cmd, subcommand_args) = match expanded_args.subcommand() {
@@ -83,7 +83,7 @@ pub fn main(gctx: &mut GlobalContext) -> CliResult {
8383
}
8484
};
8585
let exec = Exec::infer(cmd)?;
86-
config_configure(
86+
configure_gctx(
8787
gctx,
8888
&expanded_args,
8989
Some(subcommand_args),
@@ -377,7 +377,7 @@ For more information, see issue #12207 <https://github.com/rust-lang/cargo/issue
377377
Ok((args, GlobalArgs::default()))
378378
}
379379

380-
fn config_configure(
380+
fn configure_gctx(
381381
gctx: &mut GlobalContext,
382382
args: &ArgMatches,
383383
subcommand_args: Option<&ArgMatches>,

src/cargo/core/compiler/build_config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::core::compiler::CompileKind;
2-
use crate::util::config::JobsConfig;
2+
use crate::util::context::JobsConfig;
33
use crate::util::interning::InternedString;
44
use crate::util::{CargoResult, GlobalContext, RustfixDiagnosticServer};
55
use anyhow::{bail, Context as _};

src/cargo/core/compiler/build_context/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::core::compiler::{BuildConfig, CompileKind, Unit};
55
use crate::core::profiles::Profiles;
66
use crate::core::PackageSet;
77
use crate::core::Workspace;
8-
use crate::util::config::GlobalContext;
8+
use crate::util::context::GlobalContext;
99
use crate::util::errors::CargoResult;
1010
use crate::util::interning::InternedString;
1111
use crate::util::Rustc;

src/cargo/core/compiler/build_context/target_info.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::core::compiler::{
1212
BuildOutput, BuildRunner, CompileKind, CompileMode, CompileTarget, CrateType,
1313
};
1414
use crate::core::{Dependency, Package, Target, TargetKind, Workspace};
15-
use crate::util::config::{GlobalContext, StringList, TargetConfig};
15+
use crate::util::context::{GlobalContext, StringList, TargetConfig};
1616
use crate::util::interning::InternedString;
1717
use crate::util::{CargoResult, Rustc};
1818
use anyhow::Context as _;

src/cargo/core/compiler/compilation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::core::compiler::apply_env_config;
1111
use crate::core::compiler::BuildContext;
1212
use crate::core::compiler::{CompileKind, Metadata, Unit};
1313
use crate::core::Package;
14-
use crate::util::{config, CargoResult, GlobalContext};
14+
use crate::util::{context, CargoResult, GlobalContext};
1515

1616
/// Represents the kind of process we are creating.
1717
#[derive(Debug)]
@@ -453,7 +453,7 @@ fn target_runner(
453453
// try target.{}.runner
454454
let key = format!("target.{}.runner", target);
455455

456-
if let Some(v) = bcx.gctx.get::<Option<config::PathAndArgs>>(&key)? {
456+
if let Some(v) = bcx.gctx.get::<Option<context::PathAndArgs>>(&key)? {
457457
let path = v.path.resolve_program(bcx.gctx);
458458
return Ok(Some((path, v.args)));
459459
}

src/cargo/core/features.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
//! and summarize it similar to the other entries. Update the rest of the
113113
//! documentation to add the new feature.
114114
//!
115-
//! [`GlobalContext::cli_unstable`]: crate::util::config::GlobalContext::cli_unstable
115+
//! [`GlobalContext::cli_unstable`]: crate::util::context::GlobalContext::cli_unstable
116116
//! [`fail_if_stable_opt`]: CliUnstable::fail_if_stable_opt
117117
//! [`features!`]: macro.features.html
118118
//! [`unstable_cli_options!`]: macro.unstable_cli_options.html

src/cargo/core/profiles.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use crate::core::{
3030
};
3131
use crate::util::interning::InternedString;
3232
use crate::util::toml::validate_profile;
33-
use crate::util::{closest_msg, config, CargoResult, GlobalContext};
33+
use crate::util::{closest_msg, context, CargoResult, GlobalContext};
3434
use anyhow::{bail, Context as _};
3535
use cargo_util_schemas::manifest::TomlTrimPaths;
3636
use cargo_util_schemas::manifest::TomlTrimPathsValue;
@@ -1298,7 +1298,7 @@ fn merge_config_profiles(
12981298

12991299
/// Helper for fetching a profile from config.
13001300
fn get_config_profile(ws: &Workspace<'_>, name: &str) -> CargoResult<Option<TomlProfile>> {
1301-
let profile: Option<config::Value<TomlProfile>> =
1301+
let profile: Option<context::Value<TomlProfile>> =
13021302
ws.gctx().get(&format!("profile.{}", name))?;
13031303
let Some(profile) = profile else {
13041304
return Ok(None);

src/cargo/core/resolver/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ use tracing::{debug, trace};
6767

6868
use crate::core::PackageIdSpec;
6969
use crate::core::{Dependency, PackageId, Registry, Summary};
70-
use crate::util::config::GlobalContext;
70+
use crate::util::context::GlobalContext;
7171
use crate::util::errors::CargoResult;
7272
use crate::util::network::PollExt;
7373
use crate::util::profile;

src/cargo/core/source_id.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::sources::source::Source;
66
use crate::sources::{DirectorySource, CRATES_IO_DOMAIN, CRATES_IO_INDEX, CRATES_IO_REGISTRY};
77
use crate::sources::{GitSource, PathSource, RegistrySource};
88
use crate::util::interning::InternedString;
9-
use crate::util::{config, CanonicalUrl, CargoResult, GlobalContext, IntoUrl};
9+
use crate::util::{context, CanonicalUrl, CargoResult, GlobalContext, IntoUrl};
1010
use anyhow::Context as _;
1111
use serde::de;
1212
use serde::ser;
@@ -268,7 +268,7 @@ impl SourceId {
268268

269269
/// Returns whether to access crates.io over the sparse protocol.
270270
pub fn crates_io_is_sparse(gctx: &GlobalContext) -> CargoResult<bool> {
271-
let proto: Option<config::Value<String>> = gctx.get("registries.crates-io.protocol")?;
271+
let proto: Option<context::Value<String>> = gctx.get("registries.crates-io.protocol")?;
272272
let is_sparse = match proto.as_ref().map(|v| v.val.as_str()) {
273273
Some("sparse") => true,
274274
Some("git") => false,

src/cargo/core/workspace.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use crate::util::edit_distance;
2525
use crate::util::errors::{CargoResult, ManifestError};
2626
use crate::util::interning::InternedString;
2727
use crate::util::toml::{read_manifest, InheritableFields};
28-
use crate::util::{config::ConfigRelativePath, Filesystem, GlobalContext, IntoUrl};
28+
use crate::util::{context::ConfigRelativePath, Filesystem, GlobalContext, IntoUrl};
2929
use cargo_util::paths;
3030
use cargo_util::paths::normalize_path;
3131
use cargo_util_schemas::manifest::RustVersion;

src/cargo/lib.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,11 @@
4444
//! directory.
4545
//! - [`util`]:
4646
//! This directory contains generally-useful utility modules.
47-
//! - [`util::config`]:
48-
//! This directory contains the config parser. It makes heavy use of
49-
//! [serde](https://serde.rs/) to merge and translate config values. The
50-
//! [`util::GlobalContext`] is usually accessed from the
47+
//! - [`util::context`]:
48+
//! This directory contains the global applicaton context.
49+
//! This includes the config parser which makes heavy use of
50+
//! [serde](https://serde.rs/) to merge and translate config values.
51+
//! The [`util::GlobalContext`] is usually accessed from the
5152
//! [`core::Workspace`]
5253
//! though references to it are scattered around for more convenient access.
5354
//! - [`util::toml`]:
@@ -117,7 +118,7 @@
117118
//! - `src/*/*`: Extracted from `*.crate` by [`sources::registry::RegistrySource`]
118119
//! - `git/`: Git source cache. See [`sources::git`].
119120
//! - `**/.cargo/config.toml`: Environment dependent (env variables, files) configuration. See
120-
//! [`util::config`]
121+
//! [`util::context`]
121122
//!
122123
//! ## Contribute to Cargo documentations
123124
//!

src/cargo/ops/cargo_compile/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ use crate::core::{PackageId, PackageSet, SourceId, TargetKind, Workspace};
5252
use crate::drop_println;
5353
use crate::ops;
5454
use crate::ops::resolve::WorkspaceResolve;
55-
use crate::util::config::GlobalContext;
55+
use crate::util::context::GlobalContext;
5656
use crate::util::interning::InternedString;
5757
use crate::util::{profile, CargoResult, StableHasher};
5858

src/cargo/ops/cargo_config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! Implementation of `cargo config` subcommand.
22
3-
use crate::util::config::{ConfigKey, ConfigValue as CV, Definition, GlobalContext};
3+
use crate::util::context::{ConfigKey, ConfigValue as CV, Definition, GlobalContext};
44
use crate::util::errors::CargoResult;
55
use crate::{drop_eprintln, drop_println};
66
use anyhow::{bail, format_err, Error};

src/cargo/ops/cargo_doc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::core::compiler::{Compilation, CompileKind};
22
use crate::core::{Shell, Workspace};
33
use crate::ops;
4-
use crate::util::config::{GlobalContext, PathAndArgs};
4+
use crate::util::context::{GlobalContext, PathAndArgs};
55
use crate::util::CargoResult;
66
use anyhow::{bail, Error};
77
use std::path::Path;

src/cargo/ops/cargo_fetch.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::core::compiler::standard_lib;
22
use crate::core::compiler::{BuildConfig, CompileMode, RustcTargetData};
33
use crate::core::{PackageSet, Resolve, Workspace};
44
use crate::ops;
5-
use crate::util::config::JobsConfig;
5+
use crate::util::context::JobsConfig;
66
use crate::util::CargoResult;
77
use crate::util::GlobalContext;
88
use std::collections::HashSet;

src/cargo/ops/cargo_generate_lockfile.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use crate::core::{Resolve, SourceId, Workspace};
77
use crate::ops;
88
use crate::sources::source::QueryKind;
99
use crate::util::cache_lock::CacheLockMode;
10-
use crate::util::config::GlobalContext;
10+
use crate::util::context::GlobalContext;
1111
use crate::util::style;
1212
use crate::util::CargoResult;
1313
use anstyle::Style;

src/cargo/ops/cargo_package.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use crate::core::{Feature, Shell, Verbosity, Workspace};
1414
use crate::core::{Package, PackageId, PackageSet, Resolve, SourceId};
1515
use crate::sources::PathSource;
1616
use crate::util::cache_lock::CacheLockMode;
17-
use crate::util::config::JobsConfig;
17+
use crate::util::context::JobsConfig;
1818
use crate::util::errors::CargoResult;
1919
use crate::util::toml::{prepare_for_publish, to_real_manifest};
2020
use crate::util::{self, human_readable_bytes, restricted_names, FileLock, GlobalContext};

src/cargo/ops/registry/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use crate::sources::source::Source;
2323
use crate::sources::{RegistrySource, SourceConfigMap};
2424
use crate::util::auth;
2525
use crate::util::cache_lock::CacheLockMode;
26-
use crate::util::config::{GlobalContext, PathAndArgs};
26+
use crate::util::context::{GlobalContext, PathAndArgs};
2727
use crate::util::errors::CargoResult;
2828
use crate::util::network::http::http_handle;
2929

src/cargo/ops/registry/publish.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ use crate::sources::SourceConfigMap;
3232
use crate::sources::CRATES_IO_REGISTRY;
3333
use crate::util::auth;
3434
use crate::util::cache_lock::CacheLockMode;
35-
use crate::util::config::JobsConfig;
35+
use crate::util::context::JobsConfig;
3636
use crate::util::Progress;
3737
use crate::util::ProgressStyle;
3838
use crate::CargoResult;

src/cargo/ops/registry/yank.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use cargo_credential::Operation;
99
use cargo_credential::Secret;
1010

1111
use crate::core::Workspace;
12-
use crate::util::config::GlobalContext;
12+
use crate::util::context::GlobalContext;
1313
use crate::util::errors::CargoResult;
1414
use crate::util::important_paths::find_root_manifest_for_wd;
1515

src/cargo/sources/config.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use crate::core::{GitReference, PackageId, SourceId};
88
use crate::sources::source::Source;
99
use crate::sources::{ReplacedSource, CRATES_IO_REGISTRY};
10-
use crate::util::config::{self, ConfigRelativePath, OptValue};
10+
use crate::util::context::{self, ConfigRelativePath, OptValue};
1111
use crate::util::errors::CargoResult;
1212
use crate::util::{GlobalContext, IntoUrl};
1313
use anyhow::{bail, Context as _};
@@ -311,7 +311,7 @@ restore the source replacement configuration to continue the build
311311

312312
return Ok(());
313313

314-
fn url(val: &config::Value<String>, key: &str) -> CargoResult<Url> {
314+
fn url(val: &context::Value<String>, key: &str) -> CargoResult<Url> {
315315
let url = val.val.into_url().with_context(|| {
316316
format!(
317317
"configuration key `{}` specified an invalid \

src/cargo/sources/git/known_hosts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
//! added (it just adds a little complexity). For example, hostname patterns,
2323
//! and revoked markers. See "FIXME" comments littered in this file.
2424
25-
use crate::util::config::{Definition, GlobalContext, Value};
25+
use crate::util::context::{Definition, GlobalContext, Value};
2626
use base64::engine::general_purpose::STANDARD;
2727
use base64::engine::general_purpose::STANDARD_NO_PAD;
2828
use base64::Engine as _;

src/cargo/sources/git/oxide.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ pub fn cargo_config_to_gitoxide_overrides(gctx: &GlobalContext) -> CargoResult<V
301301
Http::USER_AGENT.validated_assignment_fmt(&format!("cargo {}", crate::version()))
302302
}?);
303303
if let Some(ssl_version) = &http.ssl_version {
304-
use crate::util::config::SslVersionConfig;
304+
use crate::util::context::SslVersionConfig;
305305
match ssl_version {
306306
SslVersionConfig::Single(version) => {
307307
values.push(Http::SSL_VERSION.validated_assignment_fmt(&version)?);

src/cargo/util/auth/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::{
44
core::features::cargo_docs_link,
5-
util::{config::ConfigKey, CanonicalUrl, CargoResult, GlobalContext, IntoUrl},
5+
util::{context::ConfigKey, CanonicalUrl, CargoResult, GlobalContext, IntoUrl},
66
};
77
use anyhow::{bail, Context as _};
88
use cargo_credential::{
@@ -17,12 +17,12 @@ use time::{Duration, OffsetDateTime};
1717
use url::Url;
1818

1919
use crate::core::SourceId;
20-
use crate::util::config::Value;
20+
use crate::util::context::Value;
2121
use crate::util::credential::adaptor::BasicProcessCredential;
2222
use crate::util::credential::paseto::PasetoCredential;
2323

2424
use super::{
25-
config::{CredentialCacheValue, OptValue, PathAndArgs},
25+
context::{CredentialCacheValue, OptValue, PathAndArgs},
2626
credential::process::CredentialProcessCredential,
2727
credential::token::TokenCredential,
2828
};

src/cargo/util/command_prelude.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ pub use clap::{value_parser, Arg, ArgAction, ArgMatches};
2828

2929
pub use clap::Command;
3030

31-
use super::config::JobsConfig;
31+
use super::context::JobsConfig;
3232
use super::IntoUrl;
3333

3434
pub mod heading {

src/cargo/util/config/de.rs renamed to src/cargo/util/context/de.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
//! Support for deserializing configuration via `serde`
22
3-
use crate::util::config::value;
4-
use crate::util::config::{ConfigError, ConfigKey, GlobalContext};
5-
use crate::util::config::{ConfigValue as CV, Definition, Value};
3+
use crate::util::context::value;
4+
use crate::util::context::{ConfigError, ConfigKey, GlobalContext};
5+
use crate::util::context::{ConfigValue as CV, Definition, Value};
66
use serde::{de, de::IntoDeserializer};
77
use std::collections::HashSet;
88
use std::vec;
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/cargo/util/config/value.rs renamed to src/cargo/util/context/value.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
//! from configuration, but also record where it was deserialized from when it
99
//! was read.
1010
11-
use crate::util::config::GlobalContext;
11+
use crate::util::context::GlobalContext;
1212
use serde::de;
1313
use std::cmp::Ordering;
1414
use std::fmt;

src/cargo/util/credential/paseto.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use url::Url;
1515
use crate::{
1616
core::SourceId,
1717
ops::RegistryCredentialConfig,
18-
util::{auth::registry_credential_config_raw, command_prelude::opt, config},
18+
util::{auth::registry_credential_config_raw, command_prelude::opt, context},
1919
GlobalContext,
2020
};
2121

@@ -196,12 +196,12 @@ impl<'a> Credential for PasetoCredential<'a> {
196196
None => old_key_subject,
197197
},
198198
));
199-
config::save_credentials(self.gctx, Some(new_token), &sid)?;
199+
context::save_credentials(self.gctx, Some(new_token), &sid)?;
200200
Ok(CredentialResponse::Login)
201201
}
202202
Action::Logout => {
203203
if reg_cfg.and_then(|c| c.secret_key).is_some() {
204-
config::save_credentials(self.gctx, None, &sid)?;
204+
context::save_credentials(self.gctx, None, &sid)?;
205205
let reg_name = sid.display_registry_name();
206206
let _ = self.gctx.shell().status(
207207
"Logout",

0 commit comments

Comments
 (0)