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

构建 vergen-git2

通过 '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日

#451构建工具

Download history 1050/week @ 2024-04-29 1305/week @ 2024-05-06 1317/week @ 2024-05-13 1382/week @ 2024-05-20 1209/week @ 2024-05-27 1416/week @ 2024-06-03 1377/week @ 2024-06-10 1688/week @ 2024-06-17 1866/week @ 2024-06-24 1278/week @ 2024-07-01 1236/week @ 2024-07-08 1207/week @ 2024-07-15 3114/week @ 2024-07-22 4264/week @ 2024-07-29 4002/week @ 2024-08-05 3843/week @ 2024-08-12

15,334 每月下载量
用于 2 crates

MIT/Apache

265KB
5K SLoC

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

vergen, vergen-git2, vergen-gitcl, vergen-gix. vergen-pretty

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

vergen-prettyvergen基于的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进行版本控制。
  • 这3个新库旨在作为当你需要生成基于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许可证定义,您有意提交以包含在作品中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。

依赖项

~11–36MB
~631K SLoC