mirror of
https://github.com/jht5945/buildj.git
synced 2025-12-27 17:20:06 +08:00
add impl BuilderDesc
This commit is contained in:
11
src/main.rs
11
src/main.rs
@@ -282,17 +282,10 @@ fn main() {
|
||||
print_message(MessageType::OK, &format!("BUILDER_HOME = {}", &builder_desc.home));
|
||||
|
||||
let mut new_env = get_env_with_java_home(&java_home);
|
||||
let builder_home_env = match builder_desc.name { BuilderName::Maven => "MAVEN_HOME", BuilderName::Gradle => "GRADLE_HOME", };
|
||||
new_env.insert(builder_home_env.to_string(), builder_desc.home.clone());
|
||||
|
||||
new_env.insert(builder_desc.get_builder_home_name(), builder_desc.home.clone());
|
||||
process_envs(&mut new_env, &build_json_object);
|
||||
|
||||
let cmd_bin = match builder_desc.name {
|
||||
BuilderName::Maven => builder_desc.bin.unwrap_or(format!("{}/bin/mvn", builder_desc.home.clone())),
|
||||
BuilderName::Gradle => builder_desc.bin.unwrap_or(format!("{}/bin/gradle", builder_desc.home.clone())),
|
||||
};
|
||||
|
||||
let mut cmd = Command::new(cmd_bin);
|
||||
let mut cmd = Command::new(builder_desc.get_builder_bin());
|
||||
cmd.envs(&new_env);
|
||||
|
||||
let final_args = match get_final_args(&args, &build_json_object) {
|
||||
|
||||
21
src/tool.rs
21
src/tool.rs
@@ -34,6 +34,27 @@ pub struct BuilderDesc {
|
||||
pub bin: Option<String>,
|
||||
}
|
||||
|
||||
impl BuilderDesc {
|
||||
pub fn get_builder_home_name(&self) -> String {
|
||||
match self.name {
|
||||
BuilderName::Maven => "MAVEN_HOME".to_string(),
|
||||
BuilderName::Gradle => "GRADLE_HOME".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_builder_bin(&self) -> String {
|
||||
match &self.bin {
|
||||
Some(b) => b.clone(),
|
||||
None => {
|
||||
match self.name {
|
||||
BuilderName::Maven => format!("{}/bin/mvn", self.home.clone()),
|
||||
BuilderName::Gradle => format!("{}/bin/gradle", self.home.clone()),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_builder_home(builder: &str, version: &str) -> Option<BuilderDesc> {
|
||||
let local_builder_home_base_dir = match get_user_home_dir(LOCAL_BUILDER_HOME_BASE_DIR) {
|
||||
Err(_) => return None,
|
||||
|
||||
Reference in New Issue
Block a user