Skip to content

Commit 915e9b8

Browse files
committed
Fix cargo_common_metadata warning on publish = false.
1 parent dfb34c0 commit 915e9b8

File tree

10 files changed

+76
-28
lines changed

10 files changed

+76
-28
lines changed

clippy_lints/src/cargo_common_metadata.rs

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -80,32 +80,34 @@ impl LateLintPass<'_> for CargoCommonMetadata {
8080
let metadata = unwrap_cargo_metadata!(cx, CARGO_COMMON_METADATA, false);
8181

8282
for package in metadata.packages {
83-
if is_empty_vec(&package.authors) {
84-
missing_warning(cx, &package, "package.authors");
85-
}
86-
87-
if is_empty_str(&package.description) {
88-
missing_warning(cx, &package, "package.description");
89-
}
90-
91-
if is_empty_str(&package.license) && is_empty_path(&package.license_file) {
92-
missing_warning(cx, &package, "either package.license or package.license_file");
93-
}
94-
95-
if is_empty_str(&package.repository) {
96-
missing_warning(cx, &package, "package.repository");
97-
}
98-
99-
if is_empty_path(&package.readme) {
100-
missing_warning(cx, &package, "package.readme");
101-
}
102-
103-
if is_empty_vec(&package.keywords) {
104-
missing_warning(cx, &package, "package.keywords");
105-
}
106-
107-
if is_empty_vec(&package.categories) {
108-
missing_warning(cx, &package, "package.categories");
83+
if package.publish.as_ref().filter(|publish| publish.is_empty()).is_none() {
84+
if is_empty_vec(&package.authors) {
85+
missing_warning(cx, &package, "package.authors");
86+
}
87+
88+
if is_empty_str(&package.description) {
89+
missing_warning(cx, &package, "package.description");
90+
}
91+
92+
if is_empty_str(&package.license) && is_empty_path(&package.license_file) {
93+
missing_warning(cx, &package, "either package.license or package.license_file");
94+
}
95+
96+
if is_empty_str(&package.repository) {
97+
missing_warning(cx, &package, "package.repository");
98+
}
99+
100+
if is_empty_path(&package.readme) {
101+
missing_warning(cx, &package, "package.readme");
102+
}
103+
104+
if is_empty_vec(&package.keywords) {
105+
missing_warning(cx, &package, "package.keywords");
106+
}
107+
108+
if is_empty_vec(&package.categories) {
109+
missing_warning(cx, &package, "package.categories");
110+
}
109111
}
110112
}
111113
}
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
[package]
22
name = "cargo_common_metadata"
33
version = "0.1.0"
4-
publish = false
54

65
[workspace]
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[package]
2+
name = "cargo_common_metadata"
3+
version = "0.1.0"
4+
publish = ["some-registry-name"]
5+
6+
[workspace]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// compile-flags: --crate-name=cargo_common_metadata
2+
#![warn(clippy::cargo_common_metadata)]
3+
4+
fn main() {}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
error: package `cargo_common_metadata` is missing `package.authors` metadata
2+
|
3+
= note: `-D clippy::cargo-common-metadata` implied by `-D warnings`
4+
5+
error: package `cargo_common_metadata` is missing `package.description` metadata
6+
7+
error: package `cargo_common_metadata` is missing `either package.license or package.license_file` metadata
8+
9+
error: package `cargo_common_metadata` is missing `package.repository` metadata
10+
11+
error: package `cargo_common_metadata` is missing `package.readme` metadata
12+
13+
error: package `cargo_common_metadata` is missing `package.keywords` metadata
14+
15+
error: package `cargo_common_metadata` is missing `package.categories` metadata
16+
17+
error: aborting due to 7 previous errors
18+

tests/ui-cargo/cargo_common_metadata/pass/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
[package]
22
name = "cargo_common_metadata"
33
version = "0.1.0"
4-
publish = false
54
authors = ["Random person from the Internet <[email protected]>"]
65
description = "A test package for the cargo_common_metadata lint"
76
repository = "https://github.com/someone/cargo_common_metadata"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[package]
2+
name = "cargo_common_metadata"
3+
version = "0.1.0"
4+
publish = false
5+
6+
[workspace]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// compile-flags: --crate-name=cargo_common_metadata
2+
#![warn(clippy::cargo_common_metadata)]
3+
4+
fn main() {}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[package]
2+
name = "cargo_common_metadata"
3+
version = "0.1.0"
4+
publish = []
5+
6+
[workspace]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// compile-flags: --crate-name=cargo_common_metadata
2+
#![warn(clippy::cargo_common_metadata)]
3+
4+
fn main() {}

0 commit comments

Comments
 (0)