mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-24 22:57:58 +00:00
173ace72cb
Rename the revive metadata fields and includes the commit hash and LLVM version in the revive version (similar to what solc does). Signed-off-by: xermicus <cyrill@parity.io>
31 lines
891 B
Rust
31 lines
891 B
Rust
//! The resolc compiler version.
|
|
|
|
use serde::Deserialize;
|
|
use serde::Serialize;
|
|
|
|
/// The resolc compiler version.
|
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
|
pub struct Version {
|
|
/// The long version string.
|
|
pub long: String,
|
|
/// The short `semver`.
|
|
pub default: semver::Version,
|
|
/// The LLVM version string.
|
|
pub llvm: semver::Version,
|
|
}
|
|
|
|
impl Default for Version {
|
|
fn default() -> Self {
|
|
let default = semver::Version::parse(env!("CARGO_PKG_VERSION")).expect("Always valid");
|
|
let commit = env!("GIT_COMMIT_HASH");
|
|
let (llvm_major, llvm_minor, llvm_patch) = inkwell::support::get_llvm_version();
|
|
let llvm = semver::Version::new(llvm_major as u64, llvm_minor as u64, llvm_patch as u64);
|
|
|
|
Self {
|
|
long: format!("{default}+commit.{commit}.llvm-{llvm}"),
|
|
default,
|
|
llvm,
|
|
}
|
|
}
|
|
}
|