#cargo-toml #builder #generate #version #prelude #error #name

cargo-toml-builder

用于生成 Cargo.toml 文件的构建工具

3 个版本 (重大更新)

使用旧的 Rust 2015

0.3.0 2019 年 5 月 2 日
0.2.0 2018 年 11 月 26 日
0.1.0 2018 年 4 月 2 日

#2065开发工具

37 次每月下载

AGPL-3.0

155KB
2K SLoC

Cargo.toml Builder

以编程方式生成 Cargo.toml 文件

安装

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
cargo-toml-builder = "0.3"

并将以下内容添加到您的 crate 根目录中

extern crate cargo_toml_builder;

示例

extern crate cargo_toml_builder;

use cargo_toml_builder::prelude::*;

let cargo_toml = CargoToml::builder()
                      .name("my-project")
                      .version("1.0.0")
                      .author("Alice Smith <[email protected]>")
                      .dependency("env_logger".version("0.5.6"))
                      .feature(Feature::new("nightly").dependency("clippy"))
                      .build()?;

assert_eq!(cargo_toml.to_string(), r#"
[package]
name = "my-project"
version = "1.0.0"
authors = ["Alice Smith <[email protected]>"]

[dependencies]
env_logger = "0.5.6"
clippy = {"version" = "*", optional = true}

[features]
nightly = ["clippy"]
"#);

lib.rs:

Cargo.toml Builder

以编程方式创建 Cargo.toml 文件

示例

extern crate cargo_toml_builder;

use cargo_toml_builder::prelude::*;
let cargo_toml = CargoToml::builder()
                    .name("my-project")
                    .version("1.0.0")
                    .author("Alice Smith <[email protected]>")
                    .dependency("env_logger".version("0.5.6"))
                    .build()?;
assert_eq!(cargo_toml.to_string(), r#"
[package]
name = "my-project"
version = "1.0.0"
authors = ["Alice Smith <[email protected]>"]

[dependencies]
env_logger = "0.5.6"
"#);

依赖项

~2.5MB
~50K SLoC