Skip to content

Commit 9877f8c

Browse files
andholpil
authored andcommitted
refactor(dependencies): move DependencyManager config stuff to methods to reduce API churn ♻️
1 parent 38ca7fc commit 9877f8c

File tree

1 file changed

+31
-23
lines changed

1 file changed

+31
-23
lines changed

compiler-cli/src/dependencies.rs

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,9 @@ fn get_manifest_details(paths: &ProjectPaths) -> Result<(PackageConfig, Manifest
8585
let dependency_manager = DependencyManager::new(
8686
runtime.handle().clone(),
8787
package_fetcher,
88-
Mode::Dev,
89-
UseManifest::Yes,
9088
cli::Reporter::new(),
91-
false,
92-
);
89+
)
90+
.should_use_manifest();
9391
let (_, manifest) = dependency_manager.get_manifest(&paths, &config, Vec::new())?;
9492
Ok((config, manifest))
9593
}
@@ -364,14 +362,11 @@ pub fn download<Telem: Telemetry>(
364362
let runtime = tokio::runtime::Runtime::new().expect("Unable to start Tokio async runtime");
365363
let package_fetcher = PackageFetcher::new(runtime.handle().clone());
366364

367-
let dependency_manager = DependencyManager::new(
368-
runtime.handle().clone(),
369-
package_fetcher,
370-
mode,
371-
use_manifest,
372-
telemetry,
373-
check_major_versions,
374-
);
365+
let dependency_manager =
366+
DependencyManager::new(runtime.handle().clone(), package_fetcher, telemetry)
367+
.with_use_manifest(use_manifest)
368+
.with_mode(mode)
369+
.with_check_major_versions(check_major_versions);
375370

376371
dependency_manager.download(paths, new_package, packages_to_update)
377372
}
@@ -658,24 +653,37 @@ impl<Telem: Telemetry, P> DependencyManager<Telem, P>
658653
where
659654
P: dependency::PackageFetcher,
660655
{
661-
pub fn new(
662-
runtime: tokio::runtime::Handle,
663-
package_fetcher: P,
664-
mode: Mode,
665-
use_manifest: UseManifest,
666-
telemetry: Telem,
667-
check_major_versions: bool,
668-
) -> Self {
656+
pub fn new(runtime: tokio::runtime::Handle, package_fetcher: P, telemetry: Telem) -> Self {
669657
Self {
670658
runtime,
671659
package_fetcher,
672-
mode,
673-
use_manifest,
660+
mode: Mode::Dev,
661+
use_manifest: UseManifest::No,
674662
telemetry,
675-
check_major_versions,
663+
check_major_versions: false,
676664
}
677665
}
678666

667+
fn with_use_manifest(mut self, use_manifest: UseManifest) -> Self {
668+
self.use_manifest = use_manifest;
669+
self
670+
}
671+
672+
fn with_mode(mut self, mode: Mode) -> Self {
673+
self.mode = mode;
674+
self
675+
}
676+
677+
fn with_check_major_versions(mut self, check_major_versions: bool) -> Self {
678+
self.check_major_versions = check_major_versions;
679+
self
680+
}
681+
682+
fn should_use_manifest(mut self) -> Self {
683+
self.use_manifest = UseManifest::Yes;
684+
self
685+
}
686+
679687
fn get_manifest(
680688
&self,
681689
paths: &ProjectPaths,

0 commit comments

Comments
 (0)