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

构建 vergen-gix

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

#693构建工具

Download history 311/week @ 2024-05-03 511/week @ 2024-05-10 374/week @ 2024-05-17 358/week @ 2024-05-24 476/week @ 2024-05-31 320/week @ 2024-06-07 218/week @ 2024-06-14 157/week @ 2024-06-21 135/week @ 2024-06-28 385/week @ 2024-07-05 521/week @ 2024-07-12 1036/week @ 2024-07-19 1207/week @ 2024-07-26 1047/week @ 2024-08-02 976/week @ 2024-08-09 935/week @ 2024-08-16

4,490 每月下载量
2 crates 中使用

MIT/Apache

265KB
5K SLoC

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

vergen, vergen-git2, vergen-gitcl, vergen-gix. vergen-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许可证定义的,您有意提交以包含在该作品中的任何贡献,将如上双许可,无需附加条款或条件。

依赖项

约12-42MB
~685K SLoC