From 1a80241084f38bae9c4c8124346898e7f6d25ef4 Mon Sep 17 00:00:00 2001 From: "Hatter Jiang@Pixelbook" Date: Tue, 24 Sep 2019 23:52:32 +0800 Subject: [PATCH] add usage: BUILDJ_JAVA=1.8 BUILDJ_BUILDER=maven3.5.2 buildj --- src/main.rs | 27 +++++++++++++++++++++++++++ src/misc.rs | 3 +++ 2 files changed, 30 insertions(+) diff --git a/src/main.rs b/src/main.rs index 93b5adb..689f0c3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -294,6 +294,33 @@ fn process_envs(the_env: &mut HashMap, build_json_object: &json: } fn read_build_json_object() -> Option { + if (*JAVA_VERSION).is_some() || (*BUILDER_VERSION).is_some() { + let mut build_json_object = object!{}; + if (*JAVA_VERSION).is_some() { + build_json_object["java"] = (*JAVA_VERSION).as_ref().unwrap().to_string().into(); + } + if (*BUILDER_VERSION).is_some() { + let builder_version = (*BUILDER_VERSION).as_ref().unwrap().to_string(); + if builder_version.starts_with("gradle") { + build_json_object["builder"] = object! { + "name" => "gradle", + "version" => builder_version[6..], + }; + } else if builder_version.starts_with("maven") { + build_json_object["builder"] = object! { + "name" => "maven", + "version" => builder_version[5..], + }; + } else { + print_message(MessageType::WARN, &format!("Unknown builder: {}", builder_version)); + } + } + if *VERBOSE { + print_message(MessageType::DEBUG, &format!("Use env configed build.json: {}", json::stringify(build_json_object.clone()))); + } + return Some(build_json_object); + } + let build_json = match find_build_json() { None => return None, Some(p) => p, diff --git a/src/misc.rs b/src/misc.rs index 1ef43e9..11d7d8e 100644 --- a/src/misc.rs +++ b/src/misc.rs @@ -7,6 +7,8 @@ lazy_static! { pub static ref NOAUTH: bool = is_env_on("BUILDJ_NOAUTH"); pub static ref NOBUILDIN: bool = is_env_on("BUILDJ_NOBUILDIN"); pub static ref AUTH_TOKEN: Option = env::var("BUILDJ_AUTH_TOKEN").ok(); + pub static ref JAVA_VERSION: Option = env::var("BUILDJ_JAVA").ok(); + pub static ref BUILDER_VERSION: Option = env::var("BUILDJ_BUILDER").ok(); } pub fn print_usage() { @@ -31,6 +33,7 @@ BUILDJ_VERBOSE=1 buildj - run buildj in verbose mode BUILDJ_NOAUTH=1 buildj - run buildj in no auth mode BUILDJ_JAVA_NAME=jdk-name buildj - assgin java name, e.g. adoptjdk-linux BUILDJ_AUTH_TOKEN=auth-token buildj - assign auth token +BUILDJ_JAVA=1.8 BUILDJ_BUILDER=maven3.5.2 buildj - direct run buildj "#); }