Skip to content

Commit ce7aafe

Browse files
authored
Convert the "manifest has no things" warning to annotate_snippets. (#16113)
This is another small part of #15944 . Only one warning this time, because it causes quite a bit of test churn.
2 parents e9a6cc7 + 6dd8091 commit ce7aafe

File tree

10 files changed

+253
-169
lines changed

10 files changed

+253
-169
lines changed

src/cargo/ops/cargo_package/mod.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ use crate::util::errors::ManifestError;
3232
use crate::util::restricted_names;
3333
use crate::util::toml::prepare_for_publish;
3434
use crate::{drop_println, ops};
35+
use annotate_snippets::Level;
3536
use anyhow::{Context as _, bail};
3637
use cargo_util::paths;
3738
use cargo_util_schemas::index::{IndexPackage, RegistryDependency};
@@ -836,11 +837,12 @@ fn check_metadata(pkg: &Package, gctx: &GlobalContext) -> CargoResult<()> {
836837
}
837838
things.push_str(missing.last().unwrap());
838839

839-
gctx.shell().warn(&format!(
840-
"manifest has no {things}.\n\
841-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.",
842-
things = things
843-
))?
840+
gctx.shell().print_report(&[
841+
Level::WARNING.secondary_title(format!("manifest has no {things}"))
842+
.element(Level::NOTE.message("see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info"))
843+
],
844+
false
845+
)?
844846
}
845847

846848
Ok(())

tests/testsuite/alt_registry.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,9 @@ fn publish_with_registry_dependency() {
350350
p.cargo("publish --registry alternative")
351351
.with_stderr_data(str![[r#"
352352
[UPDATING] `alternative` index
353-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
354-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
353+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
354+
|
355+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
355356
[PACKAGING] foo v0.0.1 ([ROOT]/foo)
356357
[UPDATING] `alternative` index
357358
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
@@ -517,8 +518,9 @@ fn publish_to_alt_registry() {
517518
p.cargo("publish --registry alternative")
518519
.with_stderr_data(str![[r#"
519520
[UPDATING] `alternative` index
520-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
521-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
521+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
522+
|
523+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
522524
[PACKAGING] foo v0.0.1 ([ROOT]/foo)
523525
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
524526
[VERIFYING] foo v0.0.1 ([ROOT]/foo)
@@ -595,8 +597,9 @@ fn publish_with_crates_io_dep() {
595597
p.cargo("publish --registry alternative")
596598
.with_stderr_data(str![[r#"
597599
[UPDATING] `alternative` index
598-
[WARNING] manifest has no documentation, homepage or repository.
599-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
600+
[WARNING] manifest has no documentation, homepage or repository
601+
|
602+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
600603
[PACKAGING] foo v0.0.1 ([ROOT]/foo)
601604
[UPDATING] `dummy-registry` index
602605
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)

tests/testsuite/cargo_features.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,9 @@ fn publish_allowed() {
698698
.masquerade_as_nightly_cargo(&["test-dummy-unstable"])
699699
.with_stderr_data(str![[r#"
700700
[UPDATING] crates.io index
701-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
702-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
701+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
702+
|
703+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
703704
[PACKAGING] a v0.0.1 ([ROOT]/foo)
704705
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
705706
[VERIFYING] a v0.0.1 ([ROOT]/foo)

tests/testsuite/git.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3158,8 +3158,9 @@ fn dirty_submodule() {
31583158
.cargo("package --no-verify")
31593159
.with_status(101)
31603160
.with_stderr_data(str![[r#"
3161-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
3162-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
3161+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
3162+
|
3163+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
31633164
[ERROR] 2 files in the working directory contain changes that were not yet committed into git:
31643165
31653166
.gitmodules
@@ -3179,8 +3180,9 @@ to proceed despite this and include the uncommitted changes, pass the `--allow-d
31793180
.cargo("package --no-verify")
31803181
.with_status(101)
31813182
.with_stderr_data(str![[r#"
3182-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
3183-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
3183+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
3184+
|
3185+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
31843186
[ERROR] 1 files in the working directory contain changes that were not yet committed into git:
31853187
31863188
src/lib.rs
@@ -3205,8 +3207,9 @@ to proceed despite this and include the uncommitted changes, pass the `--allow-d
32053207
.cargo("package --no-verify")
32063208
.with_status(101)
32073209
.with_stderr_data(str![[r#"
3208-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
3209-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
3210+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
3211+
|
3212+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
32103213
[ERROR] 2 files in the working directory contain changes that were not yet committed into git:
32113214
32123215
src/.gitmodules
@@ -3228,8 +3231,9 @@ to proceed despite this and include the uncommitted changes, pass the `--allow-d
32283231
.cargo("package --no-verify")
32293232
.with_status(101)
32303233
.with_stderr_data(str![[r#"
3231-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
3232-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
3234+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
3235+
|
3236+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
32333237
[ERROR] 1 files in the working directory contain changes that were not yet committed into git:
32343238
32353239
src/bar/new_file.rs

tests/testsuite/inheritable_workspace_fields.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,9 @@ fn inherit_own_dependencies() {
323323
.replace_crates_io(registry.index_url())
324324
.with_stderr_data(str![[r#"
325325
[UPDATING] crates.io index
326-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
327-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
326+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
327+
|
328+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
328329
[PACKAGING] bar v0.2.0 ([ROOT]/foo)
329330
[UPDATING] crates.io index
330331
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
@@ -490,8 +491,9 @@ fn inherit_own_detailed_dependencies() {
490491
.replace_crates_io(registry.index_url())
491492
.with_stderr_data(str![[r#"
492493
[UPDATING] crates.io index
493-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
494-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
494+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
495+
|
496+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
495497
[PACKAGING] bar v0.2.0 ([ROOT]/foo)
496498
[UPDATING] crates.io index
497499
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
@@ -925,8 +927,9 @@ fn inherit_dependencies() {
925927
.cwd("bar")
926928
.with_stderr_data(str![[r#"
927929
[UPDATING] crates.io index
928-
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository.
929-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
930+
[WARNING] manifest has no description, license, license-file, documentation, homepage or repository
931+
|
932+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
930933
[PACKAGING] bar v0.2.0 ([ROOT]/foo/bar)
931934
[UPDATING] crates.io index
932935
[PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)

tests/testsuite/open_namespaces.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,9 @@ fn publish_namespaced() {
447447
.with_status(101)
448448
.with_stderr_data(str![[r#"
449449
[UPDATING] crates.io index
450-
[WARNING] manifest has no documentation, homepage or repository.
451-
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
450+
[WARNING] manifest has no documentation, homepage or repository
451+
|
452+
= [NOTE] see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info
452453
[PACKAGING] foo::bar v0.0.1 ([ROOT]/foo)
453454
[ERROR] failed to prepare local package for uploading
454455

0 commit comments

Comments
 (0)