]>
Commit | Line | Data |
---|---|---|
04ddd4d0 | 1 | use crate::command_prelude::*; |
062a6e7a | 2 | |
6b9c063b AK |
3 | use cargo::ops; |
4 | ||
062a6e7a AK |
5 | pub fn cli() -> App { |
6 | subcommand("new") | |
7 | .about("Create a new cargo package at <path>") | |
8 | .arg(Arg::with_name("path").required(true)) | |
edc7c887 | 9 | .arg(opt("registry", "Registry to use").value_name("REGISTRY")) |
062a6e7a AK |
10 | .arg_new_opts() |
11 | } | |
6b9c063b AK |
12 | |
13 | pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult { | |
71073f8b | 14 | let opts = args.new_options(config)?; |
59030eef | 15 | |
6b9c063b AK |
16 | ops::new(&opts, config)?; |
17 | let path = args.value_of("path").unwrap(); | |
3492a390 | 18 | let package_name = if let Some(name) = args.value_of("name") { |
59030eef | 19 | name |
20 | } else { | |
21 | path | |
22 | }; | |
1e682848 AC |
23 | config |
24 | .shell() | |
3492a390 | 25 | .status("Created", format!("{} `{}` package", opts.kind, package_name))?; |
6b9c063b AK |
26 | Ok(()) |
27 | } |