@@ -91,15 +91,15 @@ fn get_manifest_details(paths: &ProjectPaths) -> Result<(PackageConfig, Manifest
9191 let runtime = tokio:: runtime:: Runtime :: new ( ) . expect ( "Unable to start Tokio async runtime" ) ;
9292 let config = crate :: config:: root_config ( paths) ?;
9393 let package_fetcher = PackageFetcher :: new ( runtime. handle ( ) . clone ( ) ) ;
94- let dependency_manager = DependencyManager :: new (
94+ let dependency_manager = DependencyManagerConfig {
95+ use_manifest : UseManifest :: Yes ,
96+ ..Default :: default ( )
97+ }
98+ . into_dependency_manager (
9599 runtime. handle ( ) . clone ( ) ,
96100 package_fetcher,
97101 cli:: Reporter :: new ( ) ,
98- )
99- . with_config ( DependencyManagerConfig {
100- use_manifest : UseManifest :: Yes ,
101- ..Default :: default ( )
102- } ) ;
102+ ) ;
103103 let ( _, manifest) = dependency_manager. get_manifest ( & paths, & config, Vec :: new ( ) ) ?;
104104 Ok ( ( config, manifest) )
105105}
@@ -371,8 +371,7 @@ pub fn download<Telem: Telemetry>(
371371 let package_fetcher = PackageFetcher :: new ( runtime. handle ( ) . clone ( ) ) ;
372372
373373 let dependency_manager =
374- DependencyManager :: new ( runtime. handle ( ) . clone ( ) , package_fetcher, telemetry)
375- . with_config ( config) ;
374+ config. into_dependency_manager ( runtime. handle ( ) . clone ( ) , package_fetcher, telemetry) ;
376375
377376 dependency_manager. download ( paths, new_package, packages_to_update)
378377}
@@ -661,6 +660,25 @@ impl Default for DependencyManagerConfig {
661660 }
662661}
663662
663+ impl DependencyManagerConfig {
664+ pub fn into_dependency_manager < Telem : Telemetry , P : dependency:: PackageFetcher > (
665+ self ,
666+ runtime : tokio:: runtime:: Handle ,
667+ package_fetcher : P ,
668+ telemetry : Telem ,
669+ ) -> DependencyManager < Telem , P > {
670+ DependencyManager {
671+ runtime,
672+ package_fetcher,
673+ telemetry,
674+
675+ mode : self . mode ,
676+ use_manifest : self . use_manifest ,
677+ check_major_versions : self . check_major_versions ,
678+ }
679+ }
680+ }
681+
664682pub struct DependencyManager < Telem : Telemetry , P : dependency:: PackageFetcher > {
665683 runtime : tokio:: runtime:: Handle ,
666684 package_fetcher : P ,
@@ -675,24 +693,6 @@ where
675693 P : dependency:: PackageFetcher ,
676694 Telem : Telemetry ,
677695{
678- pub fn new ( runtime : tokio:: runtime:: Handle , package_fetcher : P , telemetry : Telem ) -> Self {
679- Self {
680- runtime,
681- package_fetcher,
682- mode : Mode :: Dev ,
683- use_manifest : UseManifest :: No ,
684- telemetry,
685- check_major_versions : CheckMajorVersions :: No ,
686- }
687- }
688-
689- pub fn with_config ( mut self , config : DependencyManagerConfig ) -> Self {
690- self . mode = config. mode ;
691- self . use_manifest = config. use_manifest ;
692- self . check_major_versions = config. check_major_versions ;
693- self
694- }
695-
696696 pub fn get_manifest (
697697 & self ,
698698 paths : & ProjectPaths ,
0 commit comments