From 6f36859a4e609c38b80e273ed1762d1dbb6277e2 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sun, 31 Jan 2021 23:41:00 +0800 Subject: [PATCH] feat: add shadow-rs --- __misc/shadowrs/Cargo.lock | 267 ++++++++++++++++++++++++++++++++++++ __misc/shadowrs/Cargo.toml | 14 ++ __misc/shadowrs/README.md | 4 + __misc/shadowrs/build.rs | 3 + __misc/shadowrs/src/main.rs | 39 ++++++ 5 files changed, 327 insertions(+) create mode 100644 __misc/shadowrs/Cargo.lock create mode 100644 __misc/shadowrs/Cargo.toml create mode 100644 __misc/shadowrs/README.md create mode 100644 __misc/shadowrs/build.rs create mode 100644 __misc/shadowrs/src/main.rs diff --git a/__misc/shadowrs/Cargo.lock b/__misc/shadowrs/Cargo.lock new file mode 100644 index 0000000..acc7a83 --- /dev/null +++ b/__misc/shadowrs/Cargo.lock @@ -0,0 +1,267 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "cc" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "git2" +version = "0.13.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d250f5f82326884bd39c2853577e70a121775db76818ffa452ed1e80de12986" +dependencies = [ + "bitflags", + "libc", + "libgit2-sys", + "log", + "url", +] + +[[package]] +name = "idna" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "jobserver" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2" +dependencies = [ + "libc", +] + +[[package]] +name = "libc" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cca32fa0182e8c0989459524dc356b8f2b5c10f1b9eb521b7d182c03cf8c5ff" + +[[package]] +name = "libgit2-sys" +version = "0.12.18+1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da6a42da88fc37ee1ecda212ffa254c25713532980005d5f7c0b0fbe7e6e885" +dependencies = [ + "cc", + "libc", + "libz-sys", + "pkg-config", +] + +[[package]] +name = "libz-sys" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "shadow-rs" +version = "0.5.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d24431d84176415baccf1a5f4996365fbe619ed0797131d84627f00f568de2" +dependencies = [ + "chrono", + "git2", +] + +[[package]] +name = "shadowrs" +version = "0.1.0" +dependencies = [ + "shadow-rs", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317cca572a0e89c3ce0ca1f1bdc9369547fe318a683418e42ac8f59d14701023" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "unicode-bidi" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" +dependencies = [ + "matches", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "vcpkg" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/__misc/shadowrs/Cargo.toml b/__misc/shadowrs/Cargo.toml new file mode 100644 index 0000000..e445b7e --- /dev/null +++ b/__misc/shadowrs/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "shadowrs" +version = "0.1.0" +authors = ["Hatter Jiang "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +shadow-rs = "0.5" + +[build-dependencies] +shadow-rs = "0.5" + diff --git a/__misc/shadowrs/README.md b/__misc/shadowrs/README.md new file mode 100644 index 0000000..50f7237 --- /dev/null +++ b/__misc/shadowrs/README.md @@ -0,0 +1,4 @@ + +https://github.com/baoyachi/shadow-rs + + diff --git a/__misc/shadowrs/build.rs b/__misc/shadowrs/build.rs new file mode 100644 index 0000000..4a0dfc4 --- /dev/null +++ b/__misc/shadowrs/build.rs @@ -0,0 +1,3 @@ +fn main() -> shadow_rs::SdResult<()> { + shadow_rs::new() +} diff --git a/__misc/shadowrs/src/main.rs b/__misc/shadowrs/src/main.rs new file mode 100644 index 0000000..cfbe582 --- /dev/null +++ b/__misc/shadowrs/src/main.rs @@ -0,0 +1,39 @@ +#[macro_use] +extern crate shadow_rs; + +shadow!(build); + +fn main() { + + //shadow-rs built in function + println!("{}", shadow_rs::is_debug()); // check if this is a debug build + println!("{}", shadow_rs::branch()); // get current project git branch. e.g.'master' + println!("{}", shadow_rs::tag()); // get current project git head tag. e.g.'v1.5.3' + + //shadow-rs built in const + println!("{}", build::version()); // the version (description binary detail information) + println!("{}", build::clap_version()); // usually used by clap crates version() (description binary detail information) + println!("{}", build::PKG_VERSION); // current package version. e.g. '1.3.15-beta2' + println!("{}", build::PKG_VERSION_MAJOR); //current package major version. e.g. '1' + println!("{}", build::PKG_VERSION_MINOR); //current package minor version. e.g. '3' + println!("{}", build::PKG_VERSION_PATCH); //current package minor version. e.g. '15' + println!("{}", build::PKG_VERSION_PRE); //current package minor version. e.g. 'beta2' + println!("{}", build::BRANCH); // the branch, e.g. 'master' + println!("{}", build::TAG); // the tag, e.g. 'v1.0.0' + println!("{}", build::SHORT_COMMIT); // short commit hash, e.g. '8405e28e' + println!("{}", build::COMMIT_HASH); // full commit hash, e.g. '8405e28e64080a09525a6cf1b07c22fcaf71a5c5' + println!("{}", build::COMMIT_DATE); // commit date, e.g. '2020-08-16 11:52:47' + println!("{}", build::COMMIT_AUTHOR); // commit author, e.g. 'baoyachi' + println!("{}", build::COMMIT_EMAIL); // commit email, e.g. 'example@gmail.com' + + println!("{}", build::BUILD_OS); // the OS that built the binary, e.g. 'macos-x86_64' + println!("{}", build::RUST_VERSION); // rustc version e.g. 'rustc 1.45.0 (5c1f21c3b 2020-07-13)' + println!("{}", build::RUST_CHANNEL); // rust toolchain e.g. 'stable-x86_64-apple-darwin (default)' + println!("{}", build::CARGO_VERSION); // cargo version e.g. 'cargo 1.45.0 (744bd1fbb 2020-06-15)' + println!("{}", build::CARGO_TREE); // e.g. the output of '$ cargo tree' + + println!("{}", build::PROJECT_NAME); // your project name, e.g. 'shadow-rs' + println!("{}", build::BUILD_TIME); // time when start build occurred, e.g. '2020-08-16 14:50:25' + println!("{}", build::BUILD_RUST_CHANNEL); // e.g. 'debug' +} +