24个版本

0.7.4 2024年7月7日
0.7.2 2024年4月9日
0.7.1 2023年10月14日
0.6.1 2023年6月19日
0.1.0 2017年2月22日

#5 in 构建工具

Download history 93765/week @ 2024-05-04 91517/week @ 2024-05-11 91265/week @ 2024-05-18 83111/week @ 2024-05-25 79795/week @ 2024-06-01 76818/week @ 2024-06-08 90943/week @ 2024-06-15 85568/week @ 2024-06-22 79003/week @ 2024-06-29 90864/week @ 2024-07-06 87212/week @ 2024-07-13 97049/week @ 2024-07-20 93689/week @ 2024-07-27 99721/week @ 2024-08-03 103471/week @ 2024-08-10 86721/week @ 2024-08-17

398,373 每月下载量
用于 253 个crate (152直接)

MIT 协议

61KB
967

built 提供构建时的信息crate。

Crates.io Version Docs Clippy, Format & Test

built 作为构建时依赖项使用,用于收集有关构建环境的各种信息,将此信息序列化为Rust代码,并提供给crate。由 built 收集的信息包括

  • 各种元数据,如版本、作者、主页等,由 Cargo.toml 设置
  • 如果crate是从Git仓库中编译的,则标签或提交ID。
  • 构建脚本环境变量 CARGO_CFG_* 的值,如 CARGO_CFG_TARGET_OSCARGO_CFG_TARGET_ARCH
  • crate编译时使用的功能。
  • 各种依赖项、依赖项的依赖项及其版本,Cargo最终选择编译。
  • 是否存在CI平台,如 Github ActionsTravis CIAppVeyor
  • 编译器和它的版本;文档生成器和它的版本。

请参阅 示例文档 了解更多信息。


// In build.rs

fn main() {
    built::write_built_file().expect("Failed to acquire build-time information")
}
// In lib.rs or main.rs

// Include the generated-file as a separate module
pub mod built_info {
    include!(concat!(env!("OUT_DIR"), "/built.rs"));
}

println!(
    "This is version {}, built for {} by {}.",
    built_info::PKG_VERSION,
    built_info::TARGET,
    built_info::RUSTC_VERSION
);

match built_info::CI_PLATFORM {
    None => print!("It seems I've not been built on a continuous integration platform,"),
    Some(ci) => print!("I've been built on CI-platform {},", ci),
}

if built::util::detect_ci().is_some() {
    println!(" but I'm currently executing on one!");
} else {
    println!(" and I'm currently not executing on one!");
}

//....

这是版本 0.1.0,由 rustc 1.77.2 (25ef9e3d8 2024-04-09) 构建,适用于 x86_64-unknown-linux-gnu。

我由git 0.7.2-3-g4014a2e 构建,提交ID 4014a2eb4e8575bec9a1f17ae7b92d8956ecd1fd,短提交ID 4014a2e;工作目录是“干净的”。分支是 refs/heads/master

我为x86_64 CPU构建,这是一个小端架构。我被编译为在linux(一个类Unix系统)上运行,我的运行时应该是gnu。

似乎我没有在持续集成平台上构建,并且我目前不在任何持续集成平台上运行!

I was built with profile "debug", features "" on 2024-04-14 14:28:31 +00:00 (38 seconds ago) using built 0.7.2 (with help from android-tzdata 0.1.1, android_system_properties 0.1.5, autocfg 1.2.0, bitflags 2.5.0, bumpalo 3.16.0, cargo-lock 9.0.0, cc 1.0.94, cfg-if 1.0.0, chrono 0.4.37, core-foundation-sys 0.8.6, equivalent 1.0.1, fixedbitset 0.4.2, form_urlencoded 1.2.1, git2 0.18.3, hashbrown 0.14.3, iana-time-zone 0.1.60, iana-time-zone-haiku 0.1.2, idna 0.5.0, indexmap 2.2.6, jobserver 0.1.30, js-sys 0.3.69, libc 0.2.153, libgit2-sys 0.16.2+1.7.2, libz-sys 1.1.16, log 0.4.21, memchr 2.7.2, num-traits 0.2.18, once_cell 1.19.0, percent-encoding 2.3.1, petgraph 0.6.4, pkg-config 0.3.30, proc-macro2 1.0.79, quote 1.0.36, semver 1.0.22, serde 1.0.197, serde_derive 1.0.197, serde_spanned 0.6.5, syn 2.0.58, tinyvec 1.6.0, tinyvec_macros 0.1.1, toml 0.7.8, toml_datetime 0.6.5, toml_edit 0.19.15, unicode-bidi 0.3.15, unicode-ident 1.0.12, unicode-normalization 0.1.23, url 2.5.0, vcpkg 0.2.15, wasm-bindgen 0.2.92, wasm-bindgen-backend 0.2.92, wasm-bindgen-macro 0.2.92, wasm-bindgen-macro-support 0.2.92, wasm-bindgen-shared 0.2.92, windows-core 0.52.0, windows-targets 0.52.5, windows_aarch64_gnullvm 0.52.5, windows_aarch64_msvc 0.52.5, windows_i686_gnu 0.52.5, windows_i686_gnullvm 0.52.5, windows_i686_msvc 0.52.5, windows_x86_64_gnu 0.52.5, windows_x86_64_gnullvm 0.52.5, windows_x86_64_msvc 0.52.5, winnow 0.5.40).

依赖关系

~0–7MB
~54K SLoC