diff --git a/src/build_json.rs b/src/build_json.rs index d1e1433..ab705d2 100644 --- a/src/build_json.rs +++ b/src/build_json.rs @@ -76,11 +76,11 @@ pub fn create_build_json(args: &[String]) { format!("me.hatter:commons:{}", ver).as_str() ] }, - }; + } match fs::write(BUILD_JSON, json::stringify_pretty(build_json_object, 4)) { Ok(_) => print_message(MessageType::OK, &format!("Write file success: {}", BUILD_JSON)), Err(err) => print_message(MessageType::ERROR, &format!("Write file failed: {}, error message: {}", BUILD_JSON, err)), - }; + } } pub fn find_build_json_in_current() -> Option { diff --git a/src/jdk.rs b/src/jdk.rs index 18c70f8..da0de89 100644 --- a/src/jdk.rs +++ b/src/jdk.rs @@ -58,8 +58,7 @@ pub fn get_cloud_java(version: &str) -> bool { Some(buildj_java_name) => vec![buildj_java_name.as_str()], }; let local_java_home_base_dir = match local_util::get_user_home_dir(LOCAL_JAVA_HOME_BASE_DIR) { - Err(_) => return false, - Ok(o) => o, + Ok(o) => o, Err(_) => return false, }; for cloud_java_name in cloud_java_names { if tool::get_and_extract_tool_package(&local_java_home_base_dir, false, cloud_java_name, version, false).is_ok() { @@ -112,10 +111,10 @@ pub fn get_local_java_home(version: &str) -> Option { if *VERBOSE { print_message(MessageType::DEBUG, &format!("Matched JDK path found: {}", matched_path)); } - if local_util::is_path_exists(matched_path, "Contents/Home") { - return Some(format!("{}/{}", matched_path, "Contents/Home")); + return if local_util::is_path_exists(matched_path, "Contents/Home") { + Some(format!("{}/{}", matched_path, "Contents/Home")) } else { - return Some(matched_path.to_string()); + Some(matched_path.to_string()) } } } diff --git a/src/local_util.rs b/src/local_util.rs index c9e0789..f79f1c7 100644 --- a/src/local_util.rs +++ b/src/local_util.rs @@ -33,11 +33,9 @@ pub fn get_args_as_vec() -> Vec { } pub fn is_buildin_args(args: &[String]) -> bool { - if args.len() <= 1 { - false - } else { - args.get(1).unwrap().starts_with(":::") - || args.get(1).unwrap().starts_with("...") + match args.get(1) { + None => return false, + Some(arg) => arg.starts_with(":::") || arg.starts_with("..."), } } diff --git a/src/main.rs b/src/main.rs index 267bdf3..b1cd813 100644 --- a/src/main.rs +++ b/src/main.rs @@ -107,20 +107,18 @@ fn do_with_buildin_arg_builder(first_arg: &str, args: &[String], builder_name: & let java_version = &args[2][6..]; if !java_version.is_empty() { java_home = match get_java_home(java_version) { - None => { + Some(h) => h, None => { print_message(MessageType::ERROR, &format!("Assigned java version not found: {}", java_version)); return; }, - Some(h) => h, }; } } let builder_desc = match tool::get_builder_home(builder_name, builder_version) { - None => { + Some(h) => h, None => { print_message(MessageType::ERROR, &format!("Assigned builder: {}, version: {} not found.", builder_name, builder_version)); return; }, - Some(h) => h, }; if has_java { print_message(MessageType::OK, &format!("JAVA_HOME = {}", java_home)); @@ -149,8 +147,7 @@ fn do_with_buildin_arg_builder(first_arg: &str, args: &[String], builder_name: & fn do_with_buildin_arg_ddd(first_arg: &str, args: &[String]) { let build_json_object = match read_build_json_object() { - None => return, - Some(object) => object, + Some(object) => object, None => return, }; let build_json_object_xrun = &build_json_object["xRuns"][&first_arg[3..]]; if build_json_object_xrun.is_null() { @@ -227,18 +224,16 @@ fn get_java_and_builder(build_json_object: &json::JsonValue) -> Option<(String, } let java_home = match get_java_home(java_version) { - None => { + Some(h) => h, None => { print_message(MessageType::ERROR, &format!("Assigned java version not found: {}", java_version)); return None; }, - Some(h) => h, }; let builder_desc = match tool::get_builder_home(builder_name, builder_version) { - None => { + Some(h) => h, None => { print_message(MessageType::ERROR, &format!("Assigned builder: {}, version: {} not found.", builder_name, builder_version)); return None; }, - Some(h) => h, }; Some((java_home, builder_desc)) } @@ -330,24 +325,21 @@ fn read_build_json_object() -> Option { } let build_json = match find_build_json() { - None => return None, - Some(p) => p, + Some(p) => p, None => return None, }; print_message(MessageType::OK, &format!("Find {} @ {}", BUILD_JSON, build_json)); let build_json_content = match fs::read_to_string(build_json) { - Err(err) => { + Ok(content) => content, Err(err) => { print_message(MessageType::ERROR, &format!("Read {} failed: {}", BUILD_JSON, err)); return None; }, - Ok(content) => content, }; match json::parse(&build_json_content) { - Err(err) => { + Ok(object) => Some(object), Err(err) => { print_message(MessageType::ERROR, &format!("Parse JSON failed: {}", err)); None }, - Ok(object) => Some(object), } } @@ -377,8 +369,7 @@ fn main() { local_util::init_home_dir(jdk::LOCAL_JAVA_HOME_BASE_DIR); let build_json_object = match read_build_json_object() { - None => return, - Some(object) => object, + Some(object) => object, None => return, }; let (java_home, builder_desc) = match get_java_and_builder(&build_json_object) { @@ -399,8 +390,7 @@ fn main() { cmd.envs(&new_env); let final_args = match get_final_args(&args, &build_json_object) { - None => return, - Some(fa) => fa, + Some(fa) => fa, None => return, }; if *VERBOSE { print_message(MessageType::DEBUG, &format!("Final arguments: {:?}", &final_args)); diff --git a/src/tool.rs b/src/tool.rs index 91dd8d2..0968dc1 100644 --- a/src/tool.rs +++ b/src/tool.rs @@ -85,15 +85,13 @@ pub fn get_cloud_builder(builder: &str, version: &str) -> bool { return false; } let local_builder_home_base_dir = match local_util::get_user_home_dir(LOCAL_BUILDER_HOME_BASE_DIR) { - Err(_) => return false, - Ok(o) => o, + Ok(o) => o, Err(_) => return false, }; match get_and_extract_tool_package(&local_builder_home_base_dir, true, builder, version, true) { - Err(err) => { + Ok(_) => true, Err(err) => { print_message(MessageType::ERROR, &format!("Get builder: {} failed, version: {}, error: {}", builder, version, err)); false }, - Ok(_) => true, } } @@ -180,11 +178,10 @@ pub fn get_tool_package_detail(name: &str, version: &str) -> XResult { None } else { match get_tool_package_secret() { - Err(err) => { + Ok(r) => Some(r), Err(err) => { print_message(MessageType::WARN, &format!("Get package detail secret failed: {}, from file: ~/{}", err, STANDARD_CONFIG_JSON)); None }, - Ok(r) => Some(r), } };