diff --git a/src/main.rs b/src/main.rs index 8c5eaa1..f298dd2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -107,7 +107,9 @@ fn do_with_buildin_arg_builder(first_arg: &str, args: &Vec, builder_name true => get_env_with_java_home(&java_home), false => get_env(), }; - new_env.insert(builder_desc.get_builder_home_name(), builder_desc.home.clone()); + for builder_home_name in builder_desc.get_builder_home_name() { + new_env.insert(builder_home_name, builder_desc.home.clone()); + } let mut cmd = Command::new(builder_desc.get_builder_bin()); cmd.envs(&new_env); @@ -290,7 +292,9 @@ fn main() { print_message(MessageType::OK, &format!("BUILDER_HOME = {}", &builder_desc.home)); let mut new_env = get_env_with_java_home(&java_home); - new_env.insert(builder_desc.get_builder_home_name(), builder_desc.home.clone()); + for builder_home_name in builder_desc.get_builder_home_name() { + new_env.insert(builder_home_name, builder_desc.home.clone()); + } process_envs(&mut new_env, &build_json_object); let mut cmd = Command::new(builder_desc.get_builder_bin()); diff --git a/src/misc.rs b/src/misc.rs index d15c0e2..b03e846 100644 --- a/src/misc.rs +++ b/src/misc.rs @@ -3,6 +3,7 @@ use std::env; lazy_static! { pub static ref VERBOSE: bool = is_verbose(); + pub static ref NOAUTH: bool = is_no_auth(); } pub fn print_usage() { @@ -39,3 +40,10 @@ pub fn is_verbose() -> bool { Ok(v) => (v == "TRUE" || v == "true" || v =="YES" || v == "yes" || v == "1"), } } + +pub fn is_no_auth() -> bool { + match env::var("BUILDJ_NOAUTH") { + Err(_) => false, + Ok(v) => (v == "TRUE" || v == "true" || v =="YES" || v == "yes" || v == "1"), + } +} diff --git a/src/tool.rs b/src/tool.rs index 0e80c50..e8a2f92 100644 --- a/src/tool.rs +++ b/src/tool.rs @@ -36,10 +36,10 @@ pub struct BuilderDesc { } impl BuilderDesc { - pub fn get_builder_home_name(&self) -> String { + pub fn get_builder_home_name(&self) -> Vec { match self.name { - BuilderName::Maven => "MAVEN_HOME".to_string(), - BuilderName::Gradle => "GRADLE_HOME".to_string(), + BuilderName::Maven => vec!["M2_HOME".to_string(), "MAVEN_HOME".to_string()], + BuilderName::Gradle => vec!["GRADLE_HOME".to_string()], } } @@ -156,12 +156,18 @@ pub fn get_tool_package_secret() -> XResult { } pub fn get_tool_package_detail(name: &str, version: &str) -> XResult { - let secret = match get_tool_package_secret() { - Err(err) => { - print_message(MessageType::WARN, &format!("Get package detail secret failed: {}, from file: ~/{}", err, STANDARD_CONFIG_JSON)); + let secret = match *NOAUTH { + true => { + print_message(MessageType::WARN, "Running in no auth mode!"); None }, - Ok(r) => Some(r), + false => match get_tool_package_secret() { + Err(err) => { + print_message(MessageType::WARN, &format!("Get package detail secret failed: {}, from file: ~/{}", err, STANDARD_CONFIG_JSON)); + None + }, + Ok(r) => Some(r), + }, }; let mut url = String::new();