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]]
|
[[package]]
|
||||||
name = "dockerbuild"
|
name = "dockerbuild"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rust_util",
|
"rust_util",
|
||||||
"serde",
|
"serde",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "dockerbuild"
|
name = "dockerbuild"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
Docker build tool, build software using docker
|
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:
|
Config file:
|
||||||
* `~/.dockerbuild.json`
|
* `~/.dockerbuild.json`
|
||||||
* `/etc/dockerbuild.json`
|
* `/etc/dockerbuild.json`
|
||||||
@@ -31,3 +39,4 @@ $ dockerbuild :rustc --version
|
|||||||
Docker official images:
|
Docker official images:
|
||||||
https://hub.docker.com/_/rust
|
https://hub.docker.com/_/rust
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,15 @@ pub struct DockerBuildConfig {
|
|||||||
pub mirror: Option<String>,
|
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> {
|
pub fn load_docker_build_config() -> Option<DockerBuildConfig> {
|
||||||
let config = find_docker_build_config_file()?;
|
let config = find_docker_build_config_file()?;
|
||||||
success!("Find config file: {:?}", config);
|
success!("Find config file: {:?}", config);
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ pub use docker_util::DockerCmd;
|
|||||||
fn main() {
|
fn main() {
|
||||||
information!("{} v{}", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"));
|
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 args_iter = env::args().skip(1).peekable();
|
||||||
let mut get_docker_image = || {
|
let mut get_docker_image = || {
|
||||||
@@ -45,7 +45,9 @@ fn main() {
|
|||||||
let mut docker_cmd = DockerCmd::new(&docker_image);
|
let mut docker_cmd = DockerCmd::new(&docker_image);
|
||||||
docker_cmd.add_volumn(&get_final_docker_registry(&docker_image), "/usr/local/cargo/registry");
|
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) {
|
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();
|
docker_cmd.exec(&args).unwrap();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user