feat: mirror can set to none, set to rust when confit is none
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -77,7 +77,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dockerbuild"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
dependencies = [
|
||||
"rust_util",
|
||||
"serde",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "dockerbuild"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "MIT"
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
Docker build tool, build software using docker
|
||||
|
||||
|
||||
Install:
|
||||
|
||||
```shell
|
||||
$ cargo install dockerbuild
|
||||
--OR--
|
||||
$ cargo install --git https://git.hatter.ink/hatter/dockerbuild.git
|
||||
```
|
||||
|
||||
Config file:
|
||||
* `~/.dockerbuild.json`
|
||||
* `/etc/dockerbuild.json`
|
||||
@@ -31,3 +39,4 @@ $ dockerbuild :rustc --version
|
||||
Docker official images:
|
||||
https://hub.docker.com/_/rust
|
||||
|
||||
|
||||
|
||||
@@ -9,6 +9,15 @@ pub struct DockerBuildConfig {
|
||||
pub mirror: Option<String>,
|
||||
}
|
||||
|
||||
pub fn load_docker_build_config_or_default() -> DockerBuildConfig {
|
||||
load_docker_build_config().unwrap_or_else(|| {
|
||||
DockerBuildConfig {
|
||||
image: Some("rust".into()),
|
||||
mirror: None,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
pub fn load_docker_build_config() -> Option<DockerBuildConfig> {
|
||||
let config = find_docker_build_config_file()?;
|
||||
success!("Find config file: {:?}", config);
|
||||
|
||||
@@ -14,7 +14,7 @@ pub use docker_util::DockerCmd;
|
||||
fn main() {
|
||||
information!("{} v{}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"));
|
||||
|
||||
let docker_build_config = config::load_docker_build_config().expect("Read config failed, not found or parse error!");
|
||||
let docker_build_config = config::load_docker_build_config_or_default();
|
||||
|
||||
let mut args_iter = env::args().skip(1).peekable();
|
||||
let mut get_docker_image = || {
|
||||
@@ -45,7 +45,9 @@ fn main() {
|
||||
let mut docker_cmd = DockerCmd::new(&docker_image);
|
||||
docker_cmd.add_volumn(&get_final_docker_registry(&docker_image), "/usr/local/cargo/registry");
|
||||
if let Some(mirror) = &crates_mirror.or(docker_build_config.mirror) {
|
||||
docker_cmd.mirror(mirror);
|
||||
if mirror.to_lowercase() != "none" {
|
||||
docker_cmd.mirror(mirror);
|
||||
}
|
||||
}
|
||||
docker_cmd.exec(&args).unwrap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user