Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(new): Print a 'Creating', rather than 'Created' status #13367

Merged
merged 3 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions crates/cargo-test-support/src/compare.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ fn substitute_macros(input: &str) -> String {
("[CHECKING]", " Checking"),
("[COMPLETED]", " Completed"),
("[CREATED]", " Created"),
("[CREATING]", " Creating"),
("[CREDENTIAL]", " Credential"),
("[DOWNGRADING]", " Downgrading"),
("[FINISHED]", " Finished"),
Expand Down
5 changes: 1 addition & 4 deletions src/bin/cargo/commands/init.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ pub fn cli() -> Command {

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
let opts = args.new_options(config)?;
let project_kind = ops::init(&opts, config)?;
config
.shell()
.status("Created", format!("{} package", project_kind))?;
ops::init(&opts, config)?;
Ok(())
}
10 changes: 0 additions & 10 deletions src/bin/cargo/commands/new.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,5 @@ pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
let opts = args.new_options(config)?;

ops::new(&opts, config)?;
let path = args.get_one::<String>("path").unwrap();
let package_name = if let Some(name) = args.get_one::<String>("name") {
name
} else {
path
};
config.shell().status(
"Created",
format!("{} `{}` package", opts.kind, package_name),
)?;
Ok(())
}
22 changes: 12 additions & 10 deletions src/cargo/ops/cargo_new.rs
Original file line number Diff line number Diff line change
Expand Up @@ -439,19 +439,22 @@ fn calculate_new_project_kind(

pub fn new(opts: &NewOptions, config: &Config) -> CargoResult<()> {
let path = &opts.path;
let name = get_name(path, opts)?;
config
.shell()
.status("Creating", format!("{} `{}` package", opts.kind, name))?;

if path.exists() {
anyhow::bail!(
"destination `{}` already exists\n\n\
Use `cargo init` to initialize the directory",
path.display()
)
}

check_path(path, &mut config.shell())?;

let is_bin = opts.kind.is_bin();

let name = get_name(path, opts)?;
check_name(name, opts.name.is_none(), is_bin, &mut config.shell())?;

let mkopts = MkOptions {
Expand Down Expand Up @@ -480,20 +483,19 @@ pub fn init(opts: &NewOptions, config: &Config) -> CargoResult<NewProjectKind> {
}

let path = &opts.path;
let name = get_name(path, opts)?;
let mut src_paths_types = vec![];
detect_source_paths_and_types(path, name, &mut src_paths_types)?;
let kind = calculate_new_project_kind(opts.kind, opts.auto_detect_kind, &src_paths_types);
config
.shell()
.status("Creating", format!("{} package", opts.kind))?;

if path.join("Cargo.toml").exists() {
anyhow::bail!("`cargo init` cannot be run on existing Cargo packages")
}

check_path(path, &mut config.shell())?;

let name = get_name(path, opts)?;

let mut src_paths_types = vec![];

detect_source_paths_and_types(path, name, &mut src_paths_types)?;

let kind = calculate_new_project_kind(opts.kind, opts.auto_detect_kind, &src_paths_types);
let has_bin = kind.is_bin();

if src_paths_types.is_empty() {
Expand Down
1 change: 1 addition & 0 deletions tests/testsuite/bad_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ fn bad4() {
.with_status(101)
.with_stderr(
"\
[CREATING] binary (application) `foo` package
[ERROR] Failed to create package `foo` at `[..]`

Caused by:
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/auto_git/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Creating library package
error: cannot have a package with multiple libraries, found both `case.rs` and `lib.rs`
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Creating binary (application) package
warning: file `case.rs` seems to be a library file
Created binary (application) package
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Creating library package
warning: file `case.rs` seems to be a binary (application) file
Created library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/formats_source/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/fossil_autodetect/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/git_autodetect/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
1 change: 1 addition & 0 deletions tests/testsuite/cargo_init/invalid_dir_name/stderr.log
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Creating binary (application) package
error: invalid character `.` in package name: `foo.bar`, characters must be Unicode XID characters (numbers, `-`, `_`, or most letters)
If you need a package name to not match the directory name, consider using --name flag.
If you need a binary with the name "foo.bar", use a valid package name, and set the binary name to be different from the package. This can be done by setting the binary filename to `src/bin/foo.bar.rs` or change the name in Cargo.toml with:
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating binary (application) package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/mercurial_autodetect/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Creating binary (application) package
warning: the path `[ROOT]/case/test:ing/.` contains invalid PATH characters (usually `:`, `;`, or `"`)
It is recommended to use a different name to avoid problems.
Created binary (application) package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/pijul_autodetect/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
1 change: 1 addition & 0 deletions tests/testsuite/cargo_init/reserved_name/stderr.log
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Creating binary (application) package
error: the name `test` cannot be used as a package name, it conflicts with Rust's built-in test library
If you need a package name to not match the directory name, consider using --name flag.
If you need a binary with the name "test", use a valid package name, and set the binary name to be different from the package. This can be done by setting the binary filename to `src/bin/test.rs` or change the name in Cargo.toml with:
Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/simple_bin/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/simple_git/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/simple_hg/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/simple_lib/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created library package
Creating library package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/with_argument/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
2 changes: 1 addition & 1 deletion tests/testsuite/cargo_init/workspace_add_member/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) package
Creating binary (application) package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `[ROOT]/case/crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
1 change: 1 addition & 0 deletions tests/testsuite/cargo_new/empty_name/stderr.log
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Creating binary (application) `` package
error: package name cannot be empty
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `crates/foo` package
Creating binary (application) `foo` package
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Created binary (application) `bar` package
Creating binary (application) `bar` package
Loading