feat: fix external_arguments
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
use std::collections::HashMap;
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
|
||||
@@ -15,7 +14,7 @@ pub struct DockerBuildImage {
|
||||
#[derive(Debug, Serialize, Deserialize, Default)]
|
||||
pub struct DockerBuildConfig {
|
||||
pub image: Option<String>,
|
||||
pub external_arguments: Option<HashMap<String, String>>,
|
||||
pub external_arguments: Option<Vec<String>>,
|
||||
pub images: Option<Vec<DockerBuildImage>>,
|
||||
pub mirror: Option<String>,
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
use std::collections::HashMap;
|
||||
use std::fs;
|
||||
use std::process::{Command, ExitStatus};
|
||||
|
||||
@@ -72,7 +71,7 @@ impl DockerCmd {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn exec(self, cmds: &[String], external_arguments: &Option<HashMap<String, String>>) -> XResult<ExitStatus> {
|
||||
pub fn exec(self, cmds: &[String], external_arguments: &Option<Vec<String>>) -> XResult<ExitStatus> {
|
||||
let mut cmd = Command::new(DOCKER_CMD);
|
||||
cmd.arg("run");
|
||||
cmd.arg("--rm");
|
||||
@@ -80,12 +79,7 @@ impl DockerCmd {
|
||||
cmd.arg("-t");
|
||||
}
|
||||
if let Some(external_arguments) = external_arguments {
|
||||
for (k, v) in external_arguments {
|
||||
if !k.is_empty() {
|
||||
cmd.arg(k);
|
||||
if !v.is_empty() { cmd.arg(k); }
|
||||
}
|
||||
}
|
||||
external_arguments.iter().for_each(|a| if !a.is_empty() { cmd.arg(a); });
|
||||
}
|
||||
cmd.arg("--user");
|
||||
cmd.arg(&format!("{}:{}",
|
||||
|
||||
Reference in New Issue
Block a user