5个不稳定版本
0.2.0 | 2024年2月24日 |
---|---|
0.1.1 | 2024年2月24日 |
0.1.0 | 2024年2月24日 |
0.0.2 | 2024年2月23日 |
0.0.1 | 2024年2月23日 |
#172 in 模板引擎
每月 69 次下载
15KB
212 行
deps-gen
从 Cargo.lock
到生成的文件。
为什么?
目标是使用Cargo.lock
中的依赖项从模板生成文件。
如何?
构建
在 Cargo.toml
中添加以下行
[build-dependencies]
deps-gen = "*"
然后在你的 build.rs
use deps_gen;
fn main() {
gen_deps();
// // or
// let mut configuration = deps::Configuration::new()
// // do some changes to configuration here
// deps::gen_with_configuration(configuration);
}
默认配置将使用 src/deps.template.rs
文件生成 src/deps.rs
。
模板化
该库使用handlebars,默认支持支持的语法。支持的字段有
dependencies
,一个包含以下值的数组name
version
authors
id
source
description
dependencies
license
license_file
targets
features
manifest_path
categories
keywords
readme
repository
homepage
documentation
edition
有关字段详情,请参阅Rust清单参考
请注意,在模板处理之后,//{}
被替换为
(一个空字符串)。这允许进行清理。
示例
deps.template.rs
:
#[allow(dead_code)]
pub struct License {
pub name: &'static str,
pub version: &'static str,
}
impl License {
pub fn all() -> Vec<Self> {
vec![
//{}{{#each dependencies}}
Self {
name: "{{name}}",
version: "{{version}}",
},
//{}{{/each}}
]
}
}
依赖项
~3–4.5MB
~87K SLoC