mirror of
https://github.com/jht5945/buildj.git
synced 2025-12-29 18:30:05 +08:00
ref code
This commit is contained in:
@@ -76,11 +76,11 @@ pub fn create_build_json(args: &[String]) {
|
|||||||
format!("me.hatter:commons:{}", ver).as_str()
|
format!("me.hatter:commons:{}", ver).as_str()
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
};
|
}
|
||||||
match fs::write(BUILD_JSON, json::stringify_pretty(build_json_object, 4)) {
|
match fs::write(BUILD_JSON, json::stringify_pretty(build_json_object, 4)) {
|
||||||
Ok(_) => print_message(MessageType::OK, &format!("Write file success: {}", BUILD_JSON)),
|
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)),
|
Err(err) => print_message(MessageType::ERROR, &format!("Write file failed: {}, error message: {}", BUILD_JSON, err)),
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_build_json_in_current() -> Option<String> {
|
pub fn find_build_json_in_current() -> Option<String> {
|
||||||
|
|||||||
@@ -58,8 +58,7 @@ pub fn get_cloud_java(version: &str) -> bool {
|
|||||||
Some(buildj_java_name) => vec![buildj_java_name.as_str()],
|
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) {
|
let local_java_home_base_dir = match local_util::get_user_home_dir(LOCAL_JAVA_HOME_BASE_DIR) {
|
||||||
Err(_) => return false,
|
Ok(o) => o, Err(_) => return false,
|
||||||
Ok(o) => o,
|
|
||||||
};
|
};
|
||||||
for cloud_java_name in cloud_java_names {
|
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() {
|
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<String> {
|
|||||||
if *VERBOSE {
|
if *VERBOSE {
|
||||||
print_message(MessageType::DEBUG, &format!("Matched JDK path found: {}", matched_path));
|
print_message(MessageType::DEBUG, &format!("Matched JDK path found: {}", matched_path));
|
||||||
}
|
}
|
||||||
if local_util::is_path_exists(matched_path, "Contents/Home") {
|
return if local_util::is_path_exists(matched_path, "Contents/Home") {
|
||||||
return Some(format!("{}/{}", matched_path, "Contents/Home"));
|
Some(format!("{}/{}", matched_path, "Contents/Home"))
|
||||||
} else {
|
} else {
|
||||||
return Some(matched_path.to_string());
|
Some(matched_path.to_string())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,11 +33,9 @@ pub fn get_args_as_vec() -> Vec<String> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_buildin_args(args: &[String]) -> bool {
|
pub fn is_buildin_args(args: &[String]) -> bool {
|
||||||
if args.len() <= 1 {
|
match args.get(1) {
|
||||||
false
|
None => return false,
|
||||||
} else {
|
Some(arg) => arg.starts_with(":::") || arg.starts_with("..."),
|
||||||
args.get(1).unwrap().starts_with(":::")
|
|
||||||
|| args.get(1).unwrap().starts_with("...")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
30
src/main.rs
30
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..];
|
let java_version = &args[2][6..];
|
||||||
if !java_version.is_empty() {
|
if !java_version.is_empty() {
|
||||||
java_home = match get_java_home(java_version) {
|
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));
|
print_message(MessageType::ERROR, &format!("Assigned java version not found: {}", java_version));
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
Some(h) => h,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let builder_desc = match tool::get_builder_home(builder_name, builder_version) {
|
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));
|
print_message(MessageType::ERROR, &format!("Assigned builder: {}, version: {} not found.", builder_name, builder_version));
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
Some(h) => h,
|
|
||||||
};
|
};
|
||||||
if has_java {
|
if has_java {
|
||||||
print_message(MessageType::OK, &format!("JAVA_HOME = {}", java_home));
|
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]) {
|
fn do_with_buildin_arg_ddd(first_arg: &str, args: &[String]) {
|
||||||
let build_json_object = match read_build_json_object() {
|
let build_json_object = match read_build_json_object() {
|
||||||
None => return,
|
Some(object) => object, None => return,
|
||||||
Some(object) => object,
|
|
||||||
};
|
};
|
||||||
let build_json_object_xrun = &build_json_object["xRuns"][&first_arg[3..]];
|
let build_json_object_xrun = &build_json_object["xRuns"][&first_arg[3..]];
|
||||||
if build_json_object_xrun.is_null() {
|
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) {
|
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));
|
print_message(MessageType::ERROR, &format!("Assigned java version not found: {}", java_version));
|
||||||
return None;
|
return None;
|
||||||
},
|
},
|
||||||
Some(h) => h,
|
|
||||||
};
|
};
|
||||||
let builder_desc = match tool::get_builder_home(builder_name, builder_version) {
|
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));
|
print_message(MessageType::ERROR, &format!("Assigned builder: {}, version: {} not found.", builder_name, builder_version));
|
||||||
return None;
|
return None;
|
||||||
},
|
},
|
||||||
Some(h) => h,
|
|
||||||
};
|
};
|
||||||
Some((java_home, builder_desc))
|
Some((java_home, builder_desc))
|
||||||
}
|
}
|
||||||
@@ -330,24 +325,21 @@ fn read_build_json_object() -> Option<json::JsonValue> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let build_json = match find_build_json() {
|
let build_json = match find_build_json() {
|
||||||
None => return None,
|
Some(p) => p, None => return None,
|
||||||
Some(p) => p,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
print_message(MessageType::OK, &format!("Find {} @ {}", BUILD_JSON, build_json));
|
print_message(MessageType::OK, &format!("Find {} @ {}", BUILD_JSON, build_json));
|
||||||
let build_json_content = match fs::read_to_string(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));
|
print_message(MessageType::ERROR, &format!("Read {} failed: {}", BUILD_JSON, err));
|
||||||
return None;
|
return None;
|
||||||
},
|
},
|
||||||
Ok(content) => content,
|
|
||||||
};
|
};
|
||||||
match json::parse(&build_json_content) {
|
match json::parse(&build_json_content) {
|
||||||
Err(err) => {
|
Ok(object) => Some(object), Err(err) => {
|
||||||
print_message(MessageType::ERROR, &format!("Parse JSON failed: {}", err));
|
print_message(MessageType::ERROR, &format!("Parse JSON failed: {}", err));
|
||||||
None
|
None
|
||||||
},
|
},
|
||||||
Ok(object) => Some(object),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -377,8 +369,7 @@ fn main() {
|
|||||||
local_util::init_home_dir(jdk::LOCAL_JAVA_HOME_BASE_DIR);
|
local_util::init_home_dir(jdk::LOCAL_JAVA_HOME_BASE_DIR);
|
||||||
|
|
||||||
let build_json_object = match read_build_json_object() {
|
let build_json_object = match read_build_json_object() {
|
||||||
None => return,
|
Some(object) => object, None => return,
|
||||||
Some(object) => object,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let (java_home, builder_desc) = match get_java_and_builder(&build_json_object) {
|
let (java_home, builder_desc) = match get_java_and_builder(&build_json_object) {
|
||||||
@@ -399,8 +390,7 @@ fn main() {
|
|||||||
cmd.envs(&new_env);
|
cmd.envs(&new_env);
|
||||||
|
|
||||||
let final_args = match get_final_args(&args, &build_json_object) {
|
let final_args = match get_final_args(&args, &build_json_object) {
|
||||||
None => return,
|
Some(fa) => fa, None => return,
|
||||||
Some(fa) => fa,
|
|
||||||
};
|
};
|
||||||
if *VERBOSE {
|
if *VERBOSE {
|
||||||
print_message(MessageType::DEBUG, &format!("Final arguments: {:?}", &final_args));
|
print_message(MessageType::DEBUG, &format!("Final arguments: {:?}", &final_args));
|
||||||
|
|||||||
@@ -85,15 +85,13 @@ pub fn get_cloud_builder(builder: &str, version: &str) -> bool {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
let local_builder_home_base_dir = match local_util::get_user_home_dir(LOCAL_BUILDER_HOME_BASE_DIR) {
|
let local_builder_home_base_dir = match local_util::get_user_home_dir(LOCAL_BUILDER_HOME_BASE_DIR) {
|
||||||
Err(_) => return false,
|
Ok(o) => o, Err(_) => return false,
|
||||||
Ok(o) => o,
|
|
||||||
};
|
};
|
||||||
match get_and_extract_tool_package(&local_builder_home_base_dir, true, builder, version, true) {
|
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));
|
print_message(MessageType::ERROR, &format!("Get builder: {} failed, version: {}, error: {}", builder, version, err));
|
||||||
false
|
false
|
||||||
},
|
},
|
||||||
Ok(_) => true,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,11 +178,10 @@ pub fn get_tool_package_detail(name: &str, version: &str) -> XResult<String> {
|
|||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
match get_tool_package_secret() {
|
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));
|
print_message(MessageType::WARN, &format!("Get package detail secret failed: {}, from file: ~/{}", err, STANDARD_CONFIG_JSON));
|
||||||
None
|
None
|
||||||
},
|
},
|
||||||
Ok(r) => Some(r),
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user