Set the cargo version and allow changing it during build time with BWRS_VERSION.

Also renamed GIT_VERSION because that's not the only source anymore.
This commit is contained in:
Daniel García 2020-03-22 16:13:34 +01:00
parent 94341f9f3f
commit 7a6a3e4160
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A
3 changed files with 15 additions and 7 deletions

View File

@ -1,4 +1,5 @@
use std::process::Command; use std::process::Command;
use std::env;
fn main() { fn main() {
#[cfg(all(feature = "sqlite", feature = "mysql"))] #[cfg(all(feature = "sqlite", feature = "mysql"))]
@ -11,7 +12,12 @@ fn main() {
#[cfg(not(any(feature = "sqlite", feature = "mysql", feature = "postgresql")))] #[cfg(not(any(feature = "sqlite", feature = "mysql", feature = "postgresql")))]
compile_error!("You need to enable one DB backend. To build with previous defaults do: cargo build --features sqlite"); compile_error!("You need to enable one DB backend. To build with previous defaults do: cargo build --features sqlite");
if let Ok(version) = env::var("BWRS_VERSION") {
println!("cargo:rustc-env=BWRS_VERSION={}", version);
println!("cargo:rustc-env=CARGO_PKG_VERSION={}", version);
} else {
read_git_info().ok(); read_git_info().ok();
}
} }
fn run(args: &[&str]) -> Result<String, std::io::Error> { fn run(args: &[&str]) -> Result<String, std::io::Error> {
@ -54,14 +60,16 @@ fn read_git_info() -> Result<(), std::io::Error> {
} else { } else {
format!("{}-{}", last_tag, rev_short) format!("{}-{}", last_tag, rev_short)
}; };
println!("cargo:rustc-env=GIT_VERSION={}", version);
println!("cargo:rustc-env=BWRS_VERSION={}", version);
println!("cargo:rustc-env=CARGO_PKG_VERSION={}", version);
// To access these values, use: // To access these values, use:
// env!("GIT_EXACT_TAG") // env!("GIT_EXACT_TAG")
// env!("GIT_LAST_TAG") // env!("GIT_LAST_TAG")
// env!("GIT_BRANCH") // env!("GIT_BRANCH")
// env!("GIT_REV") // env!("GIT_REV")
// env!("GIT_VERSION") // env!("BWRS_VERSION")
Ok(()) Ok(())
} }

View File

@ -51,7 +51,7 @@ const COOKIE_NAME: &str = "BWRS_ADMIN";
const ADMIN_PATH: &str = "/admin"; const ADMIN_PATH: &str = "/admin";
const BASE_TEMPLATE: &str = "admin/base"; const BASE_TEMPLATE: &str = "admin/base";
const VERSION: Option<&str> = option_env!("GIT_VERSION"); const VERSION: Option<&str> = option_env!("BWRS_VERSION");
fn admin_path() -> String { fn admin_path() -> String {
format!("{}{}", CONFIG.domain_path(), ADMIN_PATH) format!("{}{}", CONFIG.domain_path(), ADMIN_PATH)

View File

@ -88,7 +88,7 @@ fn main() {
fn parse_args() { fn parse_args() {
let opt = Opt::from_args(); let opt = Opt::from_args();
if opt.version { if opt.version {
if let Some(version) = option_env!("GIT_VERSION") { if let Some(version) = option_env!("BWRS_VERSION") {
println!("bitwarden_rs {}", version); println!("bitwarden_rs {}", version);
} else { } else {
println!("bitwarden_rs (Version info from Git not present)"); println!("bitwarden_rs (Version info from Git not present)");
@ -101,7 +101,7 @@ fn launch_info() {
println!("/--------------------------------------------------------------------\\"); println!("/--------------------------------------------------------------------\\");
println!("| Starting Bitwarden_RS |"); println!("| Starting Bitwarden_RS |");
if let Some(version) = option_env!("GIT_VERSION") { if let Some(version) = option_env!("BWRS_VERSION") {
println!("|{:^68}|", format!("Version {}", version)); println!("|{:^68}|", format!("Version {}", version));
} }