#cargo-build #build-script #instructions #build #build-time #cargo #env-var

构建 vergen-gitcl

通过 'build.rs' 生成 'cargo:rustc-env' 指令,以便通过 'env!' 宏在您的代码中使用

4 个版本 (1 个稳定版)

1.0.0 2024年7月9日
1.0.0-beta.22024年2月3日
1.0.0-beta.12024年1月30日

#298构建工具

Download history 21/week @ 2024-05-06 13/week @ 2024-05-13 16/week @ 2024-05-20 25/week @ 2024-05-27 24/week @ 2024-06-03 105/week @ 2024-06-10 133/week @ 2024-06-17 62/week @ 2024-06-24 83/week @ 2024-07-01 688/week @ 2024-07-08 1180/week @ 2024-07-15 2541/week @ 2024-07-22 4058/week @ 2024-07-29 6838/week @ 2024-08-05 7518/week @ 2024-08-12

21,035 每月下载量
16 个crate中使用(9 个直接使用)

MIT/Apache 协议

270KB
5K SLoC

vergen - 一套从 Cargo 构建脚本生成 cargo 指令的库

vergenvergen-git2vergen-gitclvergen-gixvergen-pretty

当与 cargo 构建脚本 结合使用时,可以生成以下 输出

vergen-pretty 是一个基于 vergen 的 cargo 指令输出宏和美化打印器。

当前版本

vergen

docs.rs Crates.io Crates.io Crates.io codecov CI sponsor

vergen-git2

docs.rs Crates.io Crates.io Crates.io

vergen-gitcl

docs.rs Crates.io Crates.io Crates.io

vergen-gix

docs.rs Crates.io Crates.io Crates.io

vergen-pretty

docs.rs Crates.io Crates.io Crates.io

MSRV

当前最低支持的 Rust 版本为 1.73.0

⚠️ 关于版本 9 的注意事项 ⚠️

  • 版本 9 引入了 3 个新的库,分别是 vergen-git2vergen-gitclvergen-gix,这些库将与 vergen 独立版本化。
  • 这三个新的库旨在在您需要生成基于 git 的 cargo 构建脚本指令时作为 vergen 的替代品。
  • 基于 git 的功能已从基本 vergen 库中移除。
  • vergen 现在包含 buildcargorustcsysinfo 功能实现。这些功能通过新库重新导出,允许您配置输出,就像您以前做的那样。
  • 版本 9 引入了 AddCustomEntries 特性。实现此特性允许您包括自己的自定义 Cargo 指令,使用 vergen 作为生成它们的引擎。有关更多信息,请参阅 AddCustomEntries 文档。
  • 版本 8 分支 将在一段时间内得到维护。

为什么?

这是为了解决与Cargo功能统一和互斥功能相关的问题。之前版本的vergen有3个互斥功能(git2gitclgix)。如果您包含了一个也使用了vergen但配置了不同git功能的依赖项,功能统一可能会导致编译问题。将git后端分割成单独的库有助于缓解这个问题。

从版本8迁移

请参阅MIGRATING_v8_to_v9.md文档

文档

贡献

请参阅CONTRIBUTING.md文档

许可

许可方式为以下之一

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,均将双重许可如上所述,不附加任何额外的条款或条件。

依赖项

~2–27MB
~374K SLoC