28个版本

0.1.27 2024年8月19日
0.1.26 2024年4月20日
0.1.23 2024年3月29日
0.1.17 2023年12月16日
0.1.6 2023年3月7日

#9 in 配置

Download history 20100/week @ 2024-05-03 18848/week @ 2024-05-10 17372/week @ 2024-05-17 17546/week @ 2024-05-24 19045/week @ 2024-05-31 18229/week @ 2024-06-07 20619/week @ 2024-06-14 22369/week @ 2024-06-21 19470/week @ 2024-06-28 20878/week @ 2024-07-05 24370/week @ 2024-07-12 27300/week @ 2024-07-19 26611/week @ 2024-07-26 29318/week @ 2024-08-02 28508/week @ 2024-08-09 24607/week @ 2024-08-16

115,908 每月下载量
用于 23 个Crate (10个直接使用)

Apache-2.0 OR MIT

255KB
4.5K SLoC

cargo-config2

crates.io docs.rs license msrv github actions

加载和解析 Cargo配置

此库旨在准确模拟Cargo配置的实际行为,例如,以下行为得到支持:

支持的表格和字段主要基于cargo-llvm-cov的使用案例,但如果你在你的使用案例中发现缺少某些内容,请随时提交问题。

用法

将以下内容添加到你的Cargo.toml

[dependencies]
cargo-config2 = "0.1"

cargo-config2通常可以用低于构建所需Rust版本的Cargo版本运行。 (例如,使用cargo-config2的cargo子命令可以与较旧版本如cargo +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()?;
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)?;
println!("{rustflags:?}");

请参阅get示例,该示例使用cargo-config2部分重新实现了cargo config get

许可协议

根据你的选择,在Apache License, Version 2.0MIT许可协议下许可。

除非你明确表示,否则根据Apache-2.0许可证定义,你有意提交以包含在你所做的工作中的任何贡献,均应按上述方式双重许可,不附加任何额外条款或条件。

第三方软件

此产品包含第三方开发的软件的副本和修改。

有关更多详细信息,请参阅这些目录中包含的许可文件。

依赖项

~2.3–10MB
~96K SLoC