From 4df7fe133a43b20800479b06c7b11c79207b795f Mon Sep 17 00:00:00 2001 From: Finomnis Date: Fri, 10 Feb 2023 19:14:01 +0100 Subject: [PATCH] Add "skip minor lints" flag --- src/check_release.rs | 5 +++++ src/main.rs | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/check_release.rs b/src/check_release.rs index 6f4e126c..af3f08cd 100644 --- a/src/check_release.rs +++ b/src/check_release.rs @@ -83,6 +83,7 @@ pub(super) fn run_check_release( crate_name: &str, current_crate: VersionedCrate, baseline_crate: VersionedCrate, + skip_minor_lints: bool, ) -> anyhow::Result { let current_version = current_crate.crate_version(); let baseline_version = baseline_crate.crate_version(); @@ -113,6 +114,10 @@ pub(super) fn run_check_release( let queries_to_run: Vec<_> = queries .iter() .filter(|(_, query)| !version_change.supports_requirement(query.required_update)) + .filter(|(_, query)| match query.required_update { + RequiredSemverUpdate::Major => true, + RequiredSemverUpdate::Minor => !skip_minor_lints, + }) .collect(); let skipped_queries = queries.len().saturating_sub(queries_to_run.len()); diff --git a/src/main.rs b/src/main.rs index fef1989c..dbd2e568 100644 --- a/src/main.rs +++ b/src/main.rs @@ -143,7 +143,13 @@ fn main() -> anyhow::Result<()> { baseline_highest_allowed_version, )?; - let success = run_check_release(&mut config, name, current_crate, baseline_crate)?; + let success = run_check_release( + &mut config, + name, + current_crate, + baseline_crate, + args.skip_minor_lints, + )?; vec![Ok(success)] } else { let metadata = args.manifest.metadata().exec()?; @@ -184,6 +190,7 @@ fn main() -> anyhow::Result<()> { crate_name, current_crate, baseline_crate, + args.skip_minor_lints, )?) } }) @@ -285,6 +292,10 @@ struct CheckRelease { #[command(flatten, next_help_heading = "Current")] pub workspace: clap_cargo::Workspace, + /// Only check whether a major version increment is required. + #[arg(long)] + skip_minor_lints: bool, + /// The current rustdoc json output to test for semver violations. #[arg( long,