@@ -88,6 +88,7 @@ fn get_manifest_details(paths: &ProjectPaths) -> Result<(PackageConfig, Manifest
8888 Mode :: Dev ,
8989 UseManifest :: Yes ,
9090 cli:: Reporter :: new ( ) ,
91+ false ,
9192 ) ;
9293 let ( _, manifest) = dependency_manager. get_manifest ( & paths, & config, Vec :: new ( ) ) ?;
9394 Ok ( ( config, manifest) )
@@ -217,6 +218,7 @@ pub fn update(paths: &ProjectPaths, packages: Vec<String>) -> Result<()> {
217218 None ,
218219 packages. into_iter ( ) . map ( EcoString :: from) . collect ( ) ,
219220 use_manifest,
221+ true ,
220222 ) ?;
221223
222224 Ok ( ( ) )
@@ -353,6 +355,8 @@ pub fn download<Telem: Telemetry>(
353355 // manifest which will result in the latest versions of the dependency
354356 // packages being resolved (not the locked ones).
355357 use_manifest : UseManifest ,
358+ // If true we check for major version updates and print them to the console.
359+ check_major_versions : bool ,
356360) -> Result < Manifest > {
357361 let mode = Mode :: Dev ;
358362
@@ -366,6 +370,7 @@ pub fn download<Telem: Telemetry>(
366370 mode,
367371 use_manifest,
368372 telemetry,
373+ check_major_versions,
369374 ) ;
370375
371376 dependency_manager. download ( paths, new_package, packages_to_update)
@@ -646,6 +651,7 @@ struct DependencyManager<Telem: Telemetry, P: dependency::PackageFetcher> {
646651 mode : Mode ,
647652 use_manifest : UseManifest ,
648653 telemetry : Telem ,
654+ check_major_versions : bool ,
649655}
650656
651657impl < Telem : Telemetry , P > DependencyManager < Telem , P >
@@ -658,13 +664,15 @@ where
658664 mode : Mode ,
659665 use_manifest : UseManifest ,
660666 telemetry : Telem ,
667+ check_major_versions : bool ,
661668 ) -> Self {
662669 Self {
663670 runtime,
664671 package_fetcher,
665672 mode,
666673 use_manifest,
667674 telemetry,
675+ check_major_versions,
668676 }
669677 }
670678
@@ -772,13 +780,15 @@ where
772780 }
773781 LocalPackages :: from_manifest ( & manifest) . write_to_disc ( paths) ?;
774782
775- let major_versions_available =
776- dependency:: check_for_major_version_updates ( & manifest, & self . package_fetcher ) ;
777- if !major_versions_available. is_empty ( ) {
778- eprintln ! (
779- "{}" ,
780- pretty_print_major_versions_available( major_versions_available)
781- ) ;
783+ if self . check_major_versions {
784+ let major_versions_available =
785+ dependency:: check_for_major_version_updates ( & manifest, & self . package_fetcher ) ;
786+ if !major_versions_available. is_empty ( ) {
787+ eprintln ! (
788+ "{}" ,
789+ pretty_print_major_versions_available( major_versions_available)
790+ ) ;
791+ }
782792 }
783793
784794 Ok ( manifest)
0 commit comments