[][src]Struct cargo::util::config::Config

pub struct Config { /* fields omitted */ }

Configuration information for cargo. This is not specific to a build, it is information relating to cargo itself.

Implementations

impl Config[src]

pub fn new(shell: Shell, cwd: PathBuf, homedir: PathBuf) -> Config[src]

Creates a new config instance.

This is typically used for tests or other special cases. default is preferred otherwise.

This does only minimal initialization. In particular, it does not load any config files from disk. Those will be loaded lazily as-needed.

pub fn default() -> CargoResult<Config>[src]

Creates a new Config instance, with all default settings.

This does only minimal initialization. In particular, it does not load any config files from disk. Those will be loaded lazily as-needed.

pub fn home(&self) -> &Filesystem[src]

Gets the user's Cargo home directory (OS-dependent).

pub fn git_path(&self) -> Filesystem[src]

Gets the Cargo Git directory (<cargo_home>/git).

pub fn registry_index_path(&self) -> Filesystem[src]

Gets the Cargo registry index directory (<cargo_home>/registry/index).

pub fn registry_cache_path(&self) -> Filesystem[src]

Gets the Cargo registry cache directory (<cargo_home>/registry/path).

pub fn registry_source_path(&self) -> Filesystem[src]

Gets the Cargo registry source directory (<cargo_home>/registry/src).

pub fn default_registry(&self) -> CargoResult<Option<String>>[src]

Gets the default Cargo registry.

pub fn shell(&self) -> RefMut<'_, Shell>[src]

Gets a reference to the shell, e.g., for writing error messages.

pub fn rustdoc(&self) -> CargoResult<&Path>[src]

Gets the path to the rustdoc executable.

pub fn load_global_rustc(
    &self,
    ws: Option<&Workspace<'_>>
) -> CargoResult<Rustc>
[src]

Gets the path to the rustc executable.

pub fn cargo_exe(&self) -> CargoResult<&Path>[src]

Gets the path to the cargo executable.

pub fn updated_sources(&self) -> RefMut<'_, HashSet<SourceId>>[src]

Which package sources have been updated, used to ensure it is only done once.

pub fn values(&self) -> CargoResult<&HashMap<String, ConfigValue>>[src]

Gets all config values from disk.

This will lazy-load the values as necessary. Callers are responsible for checking environment variables. Callers outside of the config module should avoid using this.

pub fn values_mut(&mut self) -> CargoResult<&mut HashMap<String, ConfigValue>>[src]

Gets a mutable copy of the on-disk config values.

This requires the config values to already have been loaded. This currently only exists for cargo vendor to remove the source entries. This doesn't respect environment variables. You should avoid using this if possible.

pub fn set_values(
    &self,
    values: HashMap<String, ConfigValue>
) -> CargoResult<()>
[src]

pub fn reload_rooted_at<P: AsRef<Path>>(&mut self, path: P) -> CargoResult<()>[src]

Reloads on-disk configuration values, starting at the given path and walking up its ancestors.

pub fn cwd(&self) -> &Path[src]

The current working directory.

pub fn target_dir(&self) -> CargoResult<Option<Filesystem>>[src]

The target output directory to use.

Returns None if the user has not chosen an explicit directory.

Callers should prefer Workspace::target_dir instead.

pub fn set_env(&mut self, env: HashMap<String, String>)[src]

Helper primarily for testing.

pub fn get_string(&self, key: &str) -> CargoResult<OptValue<String>>[src]

Get a string config value.

See get for more details.

pub fn get_path(&self, key: &str) -> CargoResult<OptValue<PathBuf>>[src]

Get a config value that is expected to be a path.

This returns a relative path if the value does not contain any directory separators. See ConfigRelativePath::resolve_program for more details.

pub fn get_list(
    &self,
    key: &str
) -> CargoResult<OptValue<Vec<(String, Definition)>>>
[src]

Get a list of strings.

DO NOT USE outside of the config module. pub will be removed in the future.

NOTE: this does not support environment variables. Use get instead if you want that.

pub fn configure(
    &mut self,
    verbose: u32,
    quiet: bool,
    color: Option<&str>,
    frozen: bool,
    locked: bool,
    offline: bool,
    target_dir: &Option<PathBuf>,
    unstable_flags: &[String],
    cli_config: &[String]
) -> CargoResult<()>
[src]

Update the Config instance based on settings typically passed in on the command-line.

This may also load the config from disk if it hasn't already been loaded.

pub fn cli_unstable(&self) -> &CliUnstable[src]

pub fn extra_verbose(&self) -> bool[src]

pub fn network_allowed(&self) -> bool[src]

pub fn offline(&self) -> bool[src]

pub fn frozen(&self) -> bool[src]

pub fn lock_update_allowed(&self) -> bool[src]

pub fn load_values(&self) -> CargoResult<HashMap<String, ConfigValue>>[src]

Loads configuration from the filesystem.

pub fn get_registry_index(&self, registry: &str) -> CargoResult<Url>[src]

Gets the index for a registry.

pub fn check_registry_index_not_set(&self) -> CargoResult<()>[src]

Returns an error if registry.index is set.

pub fn load_credentials(&mut self) -> CargoResult<()>[src]

Loads credentials config from the credentials file, if present.

pub fn jobserver_from_env(&self) -> Option<&Client>[src]

pub fn http(&self) -> CargoResult<&RefCell<Easy>>[src]

pub fn http_config(&self) -> CargoResult<&CargoHttpConfig>[src]

pub fn net_config(&self) -> CargoResult<&CargoNetConfig>[src]

pub fn build_config(&self) -> CargoResult<&CargoBuildConfig>[src]

pub fn progress_config(&self) -> &ProgressConfig[src]

pub fn validate_term_config(&self) -> CargoResult<()>[src]

This is used to validate the term table has valid syntax.

This is necessary because loading the term settings happens very early, and in some situations (like cargo version) we don't want to fail if there are problems with the config file.

pub fn target_cfgs(&self) -> CargoResult<&Vec<(String, TargetCfgConfig)>>[src]

Returns a list of [target.'cfg()'] tables.

The list is sorted by the table name.

pub fn doc_extern_map(&self) -> CargoResult<&RustdocExternMap>[src]

pub fn target_cfg_triple(&self, target: &str) -> CargoResult<TargetConfig>[src]

Returns the [target] table definition for the given target triple.

pub fn crates_io_source_id<F>(&self, f: F) -> CargoResult<SourceId> where
    F: FnMut() -> CargoResult<SourceId>, 
[src]

pub fn creation_time(&self) -> Instant[src]

pub fn get<'de, T: Deserialize<'de>>(&self, key: &str) -> CargoResult<T>[src]

Retrieves a config variable.

This supports most serde Deserialize types. Examples:

This example is not tested
let v: Option<u32> = config.get("some.nested.key")?;
let v: Option<MyStruct> = config.get("some.key")?;
let v: Option<HashMap<String, MyStruct>> = config.get("foo")?;

The key may be a dotted key, but this does NOT support TOML key quoting. Avoid key components that may have dots. For example, foo.'a.b'.bar" does not work if you try to fetch foo.'a.b'". You can fetch foo if it is a map, though.

pub fn assert_package_cache_locked<'a>(&self, f: &'a Filesystem) -> &'a Path[src]

pub fn acquire_package_cache_lock(&self) -> CargoResult<PackageCacheLock<'_>>[src]

Acquires an exclusive lock on the global "package cache"

This lock is global per-process and can be acquired recursively. An RAII structure is returned to release the lock, and if this process abnormally terminates the lock is also released.

pub fn release_package_cache_lock(&self)[src]

Trait Implementations

impl Debug for Config[src]

Auto Trait Implementations

impl !RefUnwindSafe for Config

impl !Send for Config

impl !Sync for Config

impl Unpin for Config

impl !UnwindSafe for Config

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,