Skip to content

Commit 385a9f4

Browse files
andholpil
authored andcommitted
refactor(dependencies): add into_dependency_manager function ♻️
1 parent 8770971 commit 385a9f4

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

compiler-cli/src/dependencies.rs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
664682
pub 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

Comments
 (0)