feat: use config json
This commit is contained in:
@@ -1,6 +1,31 @@
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
use serde::{Serialize, Deserialize};
|
||||
use rust_util::util_file;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct DockerBuildConfig {
|
||||
image: Option<String>,
|
||||
pub image: Option<String>,
|
||||
pub mirror: Option<String>,
|
||||
}
|
||||
|
||||
pub fn load_docker_build_config() -> Option<DockerBuildConfig> {
|
||||
let config = find_docker_build_config_file()?;
|
||||
success!("Find config file: {:?}", config);
|
||||
let config_content = fs::read_to_string(&config).map_err(|e| {
|
||||
failure!("Read config file: {:?}, failed: {}", config, e);
|
||||
e
|
||||
}).ok()?;
|
||||
serde_json::from_str(&config_content).map_err(|e| {
|
||||
failure!("Parse config file: {:?}, failed: {}", config, e);
|
||||
e
|
||||
}).ok()
|
||||
}
|
||||
|
||||
fn find_docker_build_config_file() -> Option<PathBuf> {
|
||||
util_file::read_config(None, &vec![
|
||||
// "dockerbuild.json".into(),
|
||||
"~/.dockerbuild.json".into(),
|
||||
"/etc/dockerbuild.json".into(),
|
||||
])
|
||||
}
|
||||
Reference in New Issue
Block a user