add verbose in newcliapp
This commit is contained in:
@@ -3,6 +3,11 @@ name = "buildrs"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
license = "MIT"
|
||||||
|
readme = "README.md"
|
||||||
|
keywords = ["buildrs"]
|
||||||
|
description = "buildrs is a Rust build tool"
|
||||||
|
repository = "https://git.hatter.ink/hatter/buildrs"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
# buildrs
|
# buildrs
|
||||||
|
|
||||||
Build rust tool
|
Build rust tool
|
||||||
|
|
||||||
|
|
||||||
|
Create cargo app:
|
||||||
|
|
||||||
|
```
|
||||||
|
% cargo r -- newcliapp app_name
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "{{NAME}}"
|
name = "{{NAME}}"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
authors = ["Author Here!"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ impl Command for CommandNewCliApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run(&self, _arg_matches: &ArgMatches, sub_arg_matches: &ArgMatches) -> CommandError {
|
fn run(&self, _arg_matches: &ArgMatches, sub_arg_matches: &ArgMatches) -> CommandError {
|
||||||
|
let is_verbose = sub_arg_matches.is_present("verbose");
|
||||||
|
|
||||||
if is_file_exists(CARGO_TOML_FILE) || is_file_exists("src") {
|
if is_file_exists(CARGO_TOML_FILE) || is_file_exists("src") {
|
||||||
println!("[ERROR] File exists: {}, or dir exists: src/", CARGO_TOML_FILE);
|
println!("[ERROR] File exists: {}, or dir exists: src/", CARGO_TOML_FILE);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
@@ -33,13 +35,20 @@ impl Command for CommandNewCliApp {
|
|||||||
let app_name = sub_arg_matches.value_of("APP_NAME").expect("APP_NAME is required!");
|
let app_name = sub_arg_matches.value_of("APP_NAME").expect("APP_NAME is required!");
|
||||||
let cargo_toml = CARGO_TOML.replace("{{NAME}}", app_name);
|
let cargo_toml = CARGO_TOML.replace("{{NAME}}", app_name);
|
||||||
|
|
||||||
|
if is_verbose { println!("[INFO] Create dir: src/"); }
|
||||||
fs::create_dir("src/")?;
|
fs::create_dir("src/")?;
|
||||||
|
if is_verbose { println!("[INFO] Create file: src/main.rs"); }
|
||||||
fs::write("src/main.rs", MAIN_RS.as_bytes())?;
|
fs::write("src/main.rs", MAIN_RS.as_bytes())?;
|
||||||
|
if is_verbose { println!("[INFO] Create file: src/cmd.rs"); }
|
||||||
fs::write("src/cmd.rs", CMD_RS.as_bytes())?;
|
fs::write("src/cmd.rs", CMD_RS.as_bytes())?;
|
||||||
|
if is_verbose { println!("[INFO] Create file: src/cmd_default.rs"); }
|
||||||
fs::write("src/cmd_default.rs", CMD_DEFAULT_RS.as_bytes())?;
|
fs::write("src/cmd_default.rs", CMD_DEFAULT_RS.as_bytes())?;
|
||||||
|
if is_verbose { println!("[INFO] Create file: src/cmd_sample.rs"); }
|
||||||
fs::write("src/cmd_sample.rs", CMD_SAMPLE_RS.as_bytes())?;
|
fs::write("src/cmd_sample.rs", CMD_SAMPLE_RS.as_bytes())?;
|
||||||
|
if is_verbose { println!("[INFO] Create file: Cargo.toml"); }
|
||||||
fs::write(CARGO_TOML_FILE, cargo_toml.as_bytes())?;
|
fs::write(CARGO_TOML_FILE, cargo_toml.as_bytes())?;
|
||||||
|
|
||||||
|
println!("[INFO] Project created!");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user