- Notifications
You must be signed in to change notification settings - Fork4
Load and resolve Cargo configuration.
License
Apache-2.0, MIT licenses found
Licenses found
taiki-e/cargo-config2
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Load and resolveCargo configuration.
This library is intended to accurately emulate the actual behavior of Cargo configuration, for example, this supports the following behaviors:
- Hierarchical structure and merge
- Environment variables andrelative paths resolution.
target.<triple>
andtarget.<cfg>
resolution.
Supported tables and fields are mainly based oncargo-llvm-cov's use cases, but feel free to submit an issue if you see something missing in your use case.
Add this to yourCargo.toml
:
[dependencies]cargo-config2 ="0.1"
cargo-config2
is usually runnable with Cargo versions older than the Rust version required for build. (e.g., a cargo subcommand usingcargo-config2
could work with older versions such ascargo +1.59 <subcommand>
.)
// Read config files hierarchically from the current directory, merge them,// apply environment variables, and resolve relative paths.let config = cargo_config2::Config::load().unwrap();let target ="x86_64-unknown-linux-gnu";// Resolve target-specific configuration (`target.<triple>` and `target.<cfg>`),// and returns the resolved rustflags for `target`.let rustflags = config.rustflags(target).unwrap();println!("{rustflags:?}");
See also theget
example that partial re-implementation ofcargo config get
using cargo-config2.
Licensed under either ofApache License, Version 2.0 orMIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submittedfor inclusion in the work by you, as defined in the Apache-2.0 license, shallbe dual licensed as above, without any additional terms or conditions.
This product includes copies and modifications of software developed by third parties:
src/cfg_expr
includes copies and modifications ofcfg-expr
crate by Embark Studios, licensed under "Apache-2.0 OR MIT".
See the license files included in these directories for more details.
About
Load and resolve Cargo configuration.