#[doc=r#"
The name of the Git branch that this project was built from.
This constant will be empty if the branch cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BRANCH :&str = r#"main"#;
#[doc=r#"
Operating system and architecture on which the project was build.
The format of this variable is always `os-arch`,
where `os` is the operating system name as returned by [`std::env::consts::OS`],
and `arch` is the computer architecture as returned by [`std::env::consts::ARCH`]."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_OS :&str = r#"linux-x86_64"#;
#[doc=r#"
The debug configuration with which the project was built.
Note that this is not the Rust channel, but either `debug` or `release`, depending on whether debug assertions were enabled in the build or not. "#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_RUST_CHANNEL :&str = r#"debug"#;
#[doc=r#"
The [target](https://doc.rust-lang.org/rustc/targets/index.html) for this build.
This is possibly distinct from the host target during build, in which case this project build was created via cross-compilation."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_TARGET :&str = r#"x86_64-unknown-linux-gnu"#;
#[doc=r#"
The architecture of the target for this build. This is the "architecture" part of the [`BUILD_TARGET`] constant."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_TARGET_ARCH :&str = r#"x86_64"#;
#[doc=r#"
The project build time, formatted in modified ISO 8601 format (`YYYY-MM-DD HH-MM ±hh-mm` where hh-mm is the offset from UTC)."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_TIME :&str = r#"2024-09-05 11:58:16 +00:00"#;
#[doc=r#"
The project build time, formatted according to [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822#section-3.3) (e.g. HTTP Headers)."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_TIME_2822 :&str = r#"Thu, 05 Sep 2024 11:58:16 +0000"#;
#[doc=r#"
The project build time, formatted according to [RFC 3339 and ISO 8601](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const BUILD_TIME_3339 :&str = r#"2024-09-05T11:58:16Z"#;
#[doc=r#"
The directory of the Cargo.toml manifest file of the project during build.
Note that this variable will contain a full local file system path, and will therefore contain sensitive information and not be reproducible."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const CARGO_MANIFEST_DIR :&str = r#"/libredr/common"#;
#[doc=r#"
The dependency tree of the project, as output by `cargo tree`.
Note that this variable may contain local file system paths for path dependencies, and may therefore contain sensitive information and not be reproducible."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const CARGO_TREE :&str = r#"
├── anyhow v1.0.86
│ └── backtrace v0.3.73
│ ├── addr2line v0.22.0
│ │ └── gimli v0.29.0
│ ├── cfg-if v1.0.0
│ ├── libc v0.2.158
│ ├── miniz_oxide v0.7.4
│ │ └── adler v1.0.2
│ ├── object v0.36.4
│ │ └── memchr v2.7.4
│ └── rustc-demangle v0.1.24
│ [build-dependencies]
│ └── cc v1.1.16
│ ├── jobserver v0.1.32
│ │ └── libc v0.2.158
│ ├── libc v0.2.158
│ └── shlex v1.3.0
├── blake3 v1.5.4
│ ├── arrayref v0.3.8
│ ├── arrayvec v0.7.6
│ ├── cfg-if v1.0.0
│ └── constant_time_eq v0.3.1
│ [build-dependencies]
│ └── cc v1.1.16 (*)
├── chrono v0.4.38
│ ├── iana-time-zone v0.1.60
│ └── num-traits v0.2.19
│ [build-dependencies]
│ └── autocfg v1.3.0
├── configparser v3.1.0
├── const_format v0.2.32
│ └── const_format_proc_macros v0.2.32 (proc-macro)
│ ├── proc-macro2 v1.0.86
│ │ └── unicode-ident v1.0.12
│ ├── quote v1.0.37
│ │ └── proc-macro2 v1.0.86 (*)
│ └── unicode-xid v0.2.5
├── hashbrown v0.14.5
│ ├── ahash v0.8.11
│ │ ├── cfg-if v1.0.0
│ │ ├── getrandom v0.2.15
│ │ │ ├── cfg-if v1.0.0
│ │ │ └── libc v0.2.158
│ │ ├── once_cell v1.19.0
│ │ └── zerocopy v0.7.35
│ │ ├── byteorder v1.5.0
│ │ └── zerocopy-derive v0.7.35 (proc-macro)
│ │ ├── proc-macro2 v1.0.86 (*)
│ │ ├── quote v1.0.37 (*)
│ │ └── syn v2.0.77
│ │ ├── proc-macro2 v1.0.86 (*)
│ │ ├── quote v1.0.37 (*)
│ │ └── unicode-ident v1.0.12
│ │ [build-dependencies]
│ │ └── version_check v0.9.5
│ ├── allocator-api2 v0.2.18
│ └── serde v1.0.209
│ └── serde_derive v1.0.209 (proc-macro)
│ ├── proc-macro2 v1.0.86 (*)
│ ├── quote v1.0.37 (*)
│ └── syn v2.0.77 (*)
├── nalgebra v0.32.6
│ ├── approx v0.5.1
│ │ └── num-traits v0.2.19 (*)
│ ├── matrixmultiply v0.3.9
│ │ └── rawpointer v0.2.1
│ │ [build-dependencies]
│ │ └── autocfg v1.3.0
│ ├── nalgebra-macros v0.2.2 (proc-macro)
│ │ ├── proc-macro2 v1.0.86 (*)
│ │ ├── quote v1.0.37 (*)
│ │ └── syn v2.0.77 (*)
│ ├── num-complex v0.4.6
│ │ └── num-traits v0.2.19 (*)
│ ├── num-rational v0.4.2
│ │ ├── num-integer v0.1.46
│ │ │ └── num-traits v0.2.19 (*)
│ │ └── num-traits v0.2.19 (*)
│ ├── num-traits v0.2.19 (*)
│ ├── simba v0.8.1
│ │ ├── approx v0.5.1 (*)
│ │ ├── num-complex v0.4.6 (*)
│ │ ├── num-traits v0.2.19 (*)
│ │ ├── paste v1.0.15 (proc-macro)
│ │ └── wide v0.7.28
│ │ ├── bytemuck v1.17.1
│ │ └── safe_arch v0.7.2
│ │ └── bytemuck v1.17.1
│ └── typenum v1.17.0
├── ndarray v0.15.6
│ ├── matrixmultiply v0.3.9 (*)
│ ├── num-complex v0.4.6 (*)
│ ├── num-integer v0.1.46 (*)
│ ├── num-traits v0.2.19 (*)
│ ├── rawpointer v0.2.1
│ └── serde v1.0.209 (*)
├── postcard v1.0.10
│ ├── cobs v0.2.3
│ ├── heapless v0.7.17
│ │ ├── hash32 v0.2.1
│ │ │ └── byteorder v1.5.0
│ │ ├── serde v1.0.209 (*)
│ │ ├── spin v0.9.8
│ │ │ └── lock_api v0.4.12
│ │ │ └── scopeguard v1.2.0
│ │ │ [build-dependencies]
│ │ │ └── autocfg v1.3.0
│ │ └── stable_deref_trait v1.2.0
│ │ [build-dependencies]
│ │ └── rustc_version v0.4.1
│ │ └── semver v1.0.23
│ └── serde v1.0.209 (*)
├── serde v1.0.209 (*)
├── shadow-rs v0.33.0
│ ├── const_format v0.2.32 (*)
│ ├── git2 v0.19.0
│ │ ├── bitflags v2.6.0
│ │ ├── libc v0.2.158
│ │ ├── libgit2-sys v0.17.0+1.8.1
│ │ │ ├── libc v0.2.158
│ │ │ └── libz-sys v1.1.20
│ │ │ └── libc v0.2.158
│ │ │ [build-dependencies]
│ │ │ ├── cc v1.1.16 (*)
│ │ │ ├── pkg-config v0.3.30
│ │ │ └── vcpkg v0.2.15
│ │ │ [build-dependencies]
│ │ │ ├── cc v1.1.16 (*)
│ │ │ └── pkg-config v0.3.30
│ │ ├── log v0.4.22
│ │ └── url v2.5.2
│ │ ├── form_urlencoded v1.2.1
│ │ │ └── percent-encoding v2.3.1
│ │ ├── idna v0.5.0
│ │ │ ├── unicode-bidi v0.3.15
│ │ │ └── unicode-normalization v0.1.23
│ │ │ └── tinyvec v1.8.0
│ │ │ └── tinyvec_macros v0.1.1
│ │ └── percent-encoding v2.3.1
│ ├── is_debug v1.0.1
│ ├── time v0.3.36
│ │ ├── deranged v0.3.11
│ │ │ └── powerfmt v0.2.0
│ │ ├── itoa v1.0.11
│ │ ├── libc v0.2.158
│ │ ├── num-conv v0.1.0
│ │ ├── num_threads v0.1.7
│ │ ├── powerfmt v0.2.0
│ │ └── time-core v0.1.2
│ └── tzdb v0.6.1
│ ├── iana-time-zone v0.1.60
│ ├── tz-rs v0.6.14
│ │ └── const_fn v0.4.10 (proc-macro)
│ └── tzdb_data v0.1.2
│ └── tz-rs v0.6.14 (*)
├── tobj v4.0.2
│ └── ahash v0.8.11 (*)
├── tokio v1.40.0
│ ├── bytes v1.7.1
│ ├── libc v0.2.158
│ ├── mio v1.0.2
│ │ └── libc v0.2.158
│ ├── parking_lot v0.12.3
│ │ ├── lock_api v0.4.12 (*)
│ │ └── parking_lot_core v0.9.10
│ │ ├── cfg-if v1.0.0
│ │ ├── libc v0.2.158
│ │ └── smallvec v1.13.2
│ ├── pin-project-lite v0.2.14
│ ├── signal-hook-registry v1.4.2
│ │ └── libc v0.2.158
│ ├── socket2 v0.5.7
│ │ └── libc v0.2.158
│ └── tokio-macros v2.4.0 (proc-macro)
│ ├── proc-macro2 v1.0.86 (*)
│ ├── quote v1.0.37 (*)
│ └── syn v2.0.77 (*)
├── tracing v0.1.40
│ ├── pin-project-lite v0.2.14
│ ├── tracing-attributes v0.1.27 (proc-macro)
│ │ ├── proc-macro2 v1.0.86 (*)
│ │ ├── quote v1.0.37 (*)
│ │ └── syn v2.0.77 (*)
│ └── tracing-core v0.1.32
│ └── once_cell v1.19.0
└── uuid v1.10.0
├── getrandom v0.2.15 (*)
├── rand v0.8.5
│ ├── libc v0.2.158
│ ├── rand_chacha v0.3.1
│ │ ├── ppv-lite86 v0.2.20
│ │ │ └── zerocopy v0.7.35 (*)
│ │ └── rand_core v0.6.4
│ │ └── getrandom v0.2.15 (*)
│ └── rand_core v0.6.4 (*)
├── serde v1.0.209 (*)
└── uuid-macro-internal v1.10.0 (proc-macro)
├── proc-macro2 v1.0.86 (*)
├── quote v1.0.37 (*)
└── syn v2.0.77 (*)
[build-dependencies]
└── shadow-rs v0.33.0 (*)
"#;
#[doc=r#"
The cargo version which which the project was built, as output by `cargo --version`."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const CARGO_VERSION :&str = r#"cargo 1.80.1 (376290515 2024-07-16)"#;
#[doc=r#"
The author of the Git commit that this project was built from.
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const COMMIT_AUTHOR :&str = r#"Bohan Yu"#;
#[doc=r#"The time of the Git commit that this project was built from.
The time is formatted in modified ISO 8601 format (`YYYY-MM-DD HH-MM ±hh-mm` where hh-mm is the offset from UTC).
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const COMMIT_DATE :&str = r#"2024-09-05 11:42:27 +00:00"#;
#[doc=r#"
The name of the Git branch that this project was built from.
The time is formatted according to [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822#section-3.3) (e.g. HTTP Headers).
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const COMMIT_DATE_2822 :&str = r#"Thu, 05 Sep 2024 11:42:27 +0000"#;
#[doc=r#"
The name of the Git branch that this project was built from.
The time is formatted according to [RFC 3339 and ISO 8601](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6).
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const COMMIT_DATE_3339 :&str = r#"2024-09-05T11:42:27Z"#;
#[doc=r#"
The e-mail address of the author of the Git commit that this project was built from.
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const COMMIT_EMAIL :&str = r#"ybh1998@protonmail.com"#;
#[doc=r#"
The full commit hash of the Git commit that this project was built from.
An abbreviated, but not necessarily unique, version of this is [`SHORT_COMMIT`].
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const COMMIT_HASH :&str = r#"0e873417a5ca04468a1614b95408d00cb3ea9813"#;
#[doc=r#"
Whether the Git working tree was clean at the time of project build (`true`), or not (`false`).
This constant will be `false` if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const GIT_CLEAN :bool = true;
#[doc=r#"
The Git working tree status as a list of files with their status, similar to `git status`.
Each line of the list is preceded with ` * `, followed by the file name.
Files marked `(dirty)` have unstaged changes.
Files marked `(staged)` have staged changes.
This constant will be empty if the working tree status cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const GIT_STATUS_FILE :&str = r#""#;
#[doc=r#"
The name of the last Git tag on the branch that this project was built from.
As opposed to [`TAG`], this does not require the current commit to be tagged, just one of its parents.
This constant will be empty if the last tag cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const LAST_TAG :&str = r#"v0.0.18"#;
#[doc=r#"
The project's description, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PKG_DESCRIPTION :&str = r#"LibreDR is an open-source ray-tracing differentiable renderer"#;
#[doc=r#"
The project's full version string, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PKG_VERSION :&str = r#"0.0.19"#;
#[doc=r#"
The project's semver major version, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PKG_VERSION_MAJOR :&str = r#"0"#;
#[doc=r#"
The project's semver minor version, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PKG_VERSION_MINOR :&str = r#"0"#;
#[doc=r#"
The project's semver patch version, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PKG_VERSION_PATCH :&str = r#"19"#;
#[doc=r#"
The project's semver pre-release version, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PKG_VERSION_PRE :&str = r#""#;
#[doc=r#"
The project name, as determined by the Cargo.toml manifest."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const PROJECT_NAME :&str = r#"libredr-common"#;
#[doc=r#"
The [Rustup toolchain](https://rust-lang.github.io/rustup/concepts/toolchains.html) with which the project was built.
Note that as per Rustup toolchain format, this variable may or may not contain host and date information,
but it will always contain [channel](https://rust-lang.github.io/rustup/concepts/channels.html) information (stable, beta or nightly)."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const RUST_CHANNEL :&str = r#"stable-x86_64-unknown-linux-gnu"#;
#[doc=r#"
Rust version with which the project was built.
The version always uses the canonical Rust version format,
and is therefore identical to the output of the build toolchain's `rustc --version`."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const RUST_VERSION :&str = r#"rustc 1.80.1 (3f5fd8dd4 2024-08-06)"#;
#[doc=r#"
The short hash of the Git commit that this project was built from.
Note that this will always truncate [`COMMIT_HASH`] to 8 characters if necessary.
Depending on the amount of commits in your project, this may not yield a unique Git identifier
([see here for more details on hash abbreviation](https://git-scm.com/docs/git-describe#_examples)).
This constant will be empty if the last commit cannot be determined."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const SHORT_COMMIT :&str = r#"0e873417"#;
#[doc=r#"
The name of the Git tag that this project was built from.
Note that this will be empty if there is no tag for the HEAD at the time of build."#]
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const TAG :&str = r#""#;
#[allow(dead_code,missing_docs)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const VERSION:&str = shadow_rs::formatcp!(r#"
pkg_version:{}
branch:{}
commit_hash:{}
build_time:{}
build_env:{},{}"#,PKG_VERSION, BRANCH, SHORT_COMMIT, BUILD_TIME, RUST_VERSION, RUST_CHANNEL
);
#[deprecated = "Replaced with `CLAP_LONG_VERSION`"]
#[allow(dead_code,missing_docs)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const CLAP_VERSION:&str = shadow_rs::formatcp!(r#"{}
branch:{}
commit_hash:{}
build_time:{}
build_env:{},{}"#,PKG_VERSION, BRANCH, SHORT_COMMIT, BUILD_TIME, RUST_VERSION, RUST_CHANNEL
);
#[allow(dead_code,missing_docs)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub const CLAP_LONG_VERSION:&str = shadow_rs::formatcp!(r#"{}
branch:{}
commit_hash:{}
build_time:{}
build_env:{},{}"#,PKG_VERSION, BRANCH, SHORT_COMMIT, BUILD_TIME, RUST_VERSION, RUST_CHANNEL
);
#[allow(dead_code)]
#[allow(clippy::all, clippy::pedantic, clippy::restriction, clippy::nursery)]
pub fn print_build_in() {
println!("BRANCH:{BRANCH}\n");
println!("BUILD_OS:{BUILD_OS}\n");
println!("BUILD_RUST_CHANNEL:{BUILD_RUST_CHANNEL}\n");
println!("BUILD_TARGET:{BUILD_TARGET}\n");
println!("BUILD_TARGET_ARCH:{BUILD_TARGET_ARCH}\n");
println!("BUILD_TIME:{BUILD_TIME}\n");
println!("BUILD_TIME_2822:{BUILD_TIME_2822}\n");
println!("BUILD_TIME_3339:{BUILD_TIME_3339}\n");
println!("CARGO_MANIFEST_DIR:{CARGO_MANIFEST_DIR}\n");
println!("CARGO_TREE:{CARGO_TREE}\n");
println!("CARGO_VERSION:{CARGO_VERSION}\n");
println!("COMMIT_AUTHOR:{COMMIT_AUTHOR}\n");
println!("COMMIT_DATE:{COMMIT_DATE}\n");
println!("COMMIT_DATE_2822:{COMMIT_DATE_2822}\n");
println!("COMMIT_DATE_3339:{COMMIT_DATE_3339}\n");
println!("COMMIT_EMAIL:{COMMIT_EMAIL}\n");
println!("COMMIT_HASH:{COMMIT_HASH}\n");
println!("GIT_CLEAN:{GIT_CLEAN}\n");
println!("GIT_STATUS_FILE:{GIT_STATUS_FILE}\n");
println!("LAST_TAG:{LAST_TAG}\n");
println!("PKG_DESCRIPTION:{PKG_DESCRIPTION}\n");
println!("PKG_VERSION:{PKG_VERSION}\n");
println!("PKG_VERSION_MAJOR:{PKG_VERSION_MAJOR}\n");
println!("PKG_VERSION_MINOR:{PKG_VERSION_MINOR}\n");
println!("PKG_VERSION_PATCH:{PKG_VERSION_PATCH}\n");
println!("PKG_VERSION_PRE:{PKG_VERSION_PRE}\n");
println!("PROJECT_NAME:{PROJECT_NAME}\n");
println!("RUST_CHANNEL:{RUST_CHANNEL}\n");
println!("RUST_VERSION:{RUST_VERSION}\n");
println!("SHORT_COMMIT:{SHORT_COMMIT}\n");
println!("TAG:{TAG}\n");
println!("VERSION:{VERSION}\n");
println!("CLAP_LONG_VERSION:{CLAP_LONG_VERSION}\n");
}