mirror of
https://github.com/jht5945/buildj.git
synced 2025-12-29 18:30:05 +08:00
feat: v0.1.9 supports more java commands
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -43,7 +43,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "buildj"
|
name = "buildj"
|
||||||
version = "0.1.8"
|
version = "0.1.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dirs",
|
"dirs",
|
||||||
"json",
|
"json",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "buildj"
|
name = "buildj"
|
||||||
version = "0.1.8"
|
version = "0.1.9"
|
||||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
homepage = "https://buildj.ruststack.org/"
|
homepage = "https://buildj.ruststack.org/"
|
||||||
|
|||||||
46
src/main.rs
46
src/main.rs
@@ -20,17 +20,28 @@ use build_json::*;
|
|||||||
use misc::*;
|
use misc::*;
|
||||||
|
|
||||||
|
|
||||||
fn do_with_buildin_arg_java(first_arg: &str, args: &[String]) {
|
fn do_with_buildin_arg_java_cmd(first_arg: &str, args: &[String]) {
|
||||||
let ver = &first_arg[7..];
|
let first_num_pos = first_arg.chars().position(|c| c >= '0' && c <= '9');
|
||||||
if ver.is_empty() {
|
let (cmd, ver) = match first_num_pos {
|
||||||
failure!("Java version is not assigned!");
|
None => {
|
||||||
return;
|
failure!("Java command version is not assigned!");
|
||||||
}
|
return;
|
||||||
|
},
|
||||||
|
Some(pos) => {
|
||||||
|
(&first_arg[3..pos], &first_arg[pos..])
|
||||||
|
},
|
||||||
|
};
|
||||||
match get_java_home(ver) {
|
match get_java_home(ver) {
|
||||||
None => failure!("Assigned java version not found: {}", ver),
|
None => failure!("Assigned java version not found: {}", ver),
|
||||||
Some(java_home) => {
|
Some(java_home) => {
|
||||||
success!("Find java home: {}", java_home);
|
success!("Find java home: {}", java_home);
|
||||||
let java_bin = &format!("{}/bin/java", java_home);
|
let java_bin = &format!("{}/bin/{}", java_home, cmd);
|
||||||
|
if fs::metadata(java_bin).is_ok() {
|
||||||
|
success!("Command found: {}", java_bin);
|
||||||
|
} else {
|
||||||
|
failure!("Command {} not exists", java_bin);
|
||||||
|
return;
|
||||||
|
}
|
||||||
let mut cmd = Command::new(java_bin);
|
let mut cmd = Command::new(java_bin);
|
||||||
cmd.envs(&get_env_with_java_home(&java_home));
|
cmd.envs(&get_env_with_java_home(&java_home));
|
||||||
if args.len() > 2 {
|
if args.len() > 2 {
|
||||||
@@ -163,10 +174,23 @@ fn do_with_buildin_args(args: &[String]) {
|
|||||||
":::version" => print_version(),
|
":::version" => print_version(),
|
||||||
":::create" => create_build_json(args),
|
":::create" => create_build_json(args),
|
||||||
":::config" => do_with_buildin_arg_config(first_arg, args),
|
":::config" => do_with_buildin_arg_config(first_arg, args),
|
||||||
a if a.starts_with(":::java") => do_with_buildin_arg_java (a, args),
|
a if a.starts_with(":::jar") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
a if a.starts_with(":::maven") => do_with_buildin_arg_maven (a, args),
|
a if a.starts_with(":::java") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
a if a.starts_with(":::gradle") => do_with_buildin_arg_gradle(a, args),
|
a if a.starts_with(":::jinfo") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
a if a.starts_with("...") => do_with_buildin_arg_ddd (a, args),
|
a if a.starts_with(":::jlink") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::keytool")=> do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jaotc") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jcmd") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jconsole")=> do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jdb") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jmap") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jps") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jstack") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jstat") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::jimage") => do_with_buildin_arg_java_cmd(a, args),
|
||||||
|
a if a.starts_with(":::maven") => do_with_buildin_arg_maven (a, args),
|
||||||
|
a if a.starts_with(":::gradle") => do_with_buildin_arg_gradle (a, args),
|
||||||
|
a if a.starts_with("...") => do_with_buildin_arg_ddd (a, args),
|
||||||
_ => failure!("Unknown args: {:?}", &args),
|
_ => failure!("Unknown args: {:?}", &args),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user