From 6eb55abe2c28c4d7fda334e782215c06a1e59e4c Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Sat, 13 Apr 2019 17:33:42 -0700 Subject: [PATCH] cargo package: Change lock file updates from warning to requiring -v. --- src/cargo/ops/cargo_package.rs | 11 +++++++---- tests/testsuite/publish_lockfile.rs | 18 +++++++++++------- tests/testsuite/support/mod.rs | 1 + 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/cargo/ops/cargo_package.rs b/src/cargo/ops/cargo_package.rs index 01f245491..6369b0b63 100644 --- a/src/cargo/ops/cargo_package.rs +++ b/src/cargo/ops/cargo_package.rs @@ -9,11 +9,12 @@ use flate2::{Compression, GzBuilder}; use log::debug; use serde_json::{self, json}; use tar::{Builder, EntryType, Header}; +use termcolor::Color; use crate::core::compiler::{BuildConfig, CompileMode, DefaultExecutor, Executor}; use crate::core::resolver::Method; use crate::core::{ - Package, PackageId, PackageIdSpec, PackageSet, Resolve, Source, SourceId, Workspace, + Package, PackageId, PackageIdSpec, PackageSet, Resolve, Source, SourceId, Verbosity, Workspace, }; use crate::ops; use crate::sources::PathSource; @@ -465,6 +466,9 @@ fn compare_resolve( orig_resolve: &Resolve, new_resolve: &Resolve, ) -> CargoResult<()> { + if config.shell().verbosity() != Verbosity::Verbose { + return Ok(()); + } let new_set: BTreeSet = new_resolve.iter().collect(); let orig_set: BTreeSet = orig_resolve.iter().collect(); let added = new_set.difference(&orig_set); @@ -533,9 +537,8 @@ fn compare_resolve( ) } }; - config - .shell() - .warn(format!("package `{}` added to Cargo.lock{}", pkg_id, extra))?; + let msg = format!("package `{}` added to Cargo.lock{}", pkg_id, extra); + config.shell().status_with_color("Note", msg, Color::Cyan)?; } Ok(()) } diff --git a/tests/testsuite/publish_lockfile.rs b/tests/testsuite/publish_lockfile.rs index d0bf5dc0f..db49fc33a 100644 --- a/tests/testsuite/publish_lockfile.rs +++ b/tests/testsuite/publish_lockfile.rs @@ -139,7 +139,7 @@ fn lock_file_and_workspace() { } #[test] -fn warn_resolve_changes() { +fn note_resolve_changes() { // `multi` has multiple sources (path and registry). Package::new("mutli", "0.1.0").publish(); // `updated` is always from registry, but should not change. @@ -178,14 +178,16 @@ fn warn_resolve_changes() { // Make sure this does not change or warn. Package::new("updated", "1.0.1").publish(); - p.cargo("package --no-verify") + p.cargo("package --no-verify -v --allow-dirty") .masquerade_as_nightly_cargo() .with_stderr_unordered( "\ [PACKAGING] foo v0.0.1 ([..]) +[ARCHIVING] Cargo.toml +[ARCHIVING] src/main.rs [UPDATING] `[..]` index -[WARNING] package `mutli v0.1.0` added to Cargo.lock, was originally sourced from `[..]/foo/mutli` -[WARNING] package `patched v1.0.0` added to Cargo.lock, was originally sourced from `[..]/foo/patched` +[NOTE] package `mutli v0.1.0` added to Cargo.lock, was originally sourced from `[..]/foo/mutli` +[NOTE] package `patched v1.0.0` added to Cargo.lock, was originally sourced from `[..]/foo/patched` ", ) .run(); @@ -267,7 +269,7 @@ fn no_warn_workspace_extras() { } #[test] -fn out_of_date_lock_warn() { +fn out_of_date_lock_note() { // Dependency is force-changed from an out-of-date Cargo.lock. Package::new("dep", "1.0.0").publish(); Package::new("dep", "2.0.0").publish(); @@ -300,13 +302,15 @@ fn out_of_date_lock_warn() { "#, ), ); - p.cargo("package --no-verify") + p.cargo("package --no-verify -v --allow-dirty") .masquerade_as_nightly_cargo() .with_stderr( "\ [PACKAGING] foo v0.0.1 ([..]) +[ARCHIVING] Cargo.toml +[ARCHIVING] src/main.rs [UPDATING] `[..]` index -[WARNING] package `dep v2.0.0` added to Cargo.lock, previous version was `1.0.0` +[NOTE] package `dep v2.0.0` added to Cargo.lock, previous version was `1.0.0` ", ) .run(); diff --git a/tests/testsuite/support/mod.rs b/tests/testsuite/support/mod.rs index 36c146a04..c8e8428ab 100644 --- a/tests/testsuite/support/mod.rs +++ b/tests/testsuite/support/mod.rs @@ -1620,6 +1620,7 @@ fn substitute_macros(input: &str) -> String { ("[IGNORED]", " Ignored"), ("[INSTALLED]", " Installed"), ("[REPLACED]", " Replaced"), + ("[NOTE]", " Note"), ]; let mut result = input.to_owned(); for &(pat, subst) in ¯os {