diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-09 18:44:31 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-09 18:44:31 +0900 |
| commit | f9671f2dcde92d5c037595d0d3f01396a8190970 (patch) | |
| tree | 56e1bfcb8f9940a49bd9e658c982514cdde0c367 /crates/mozart-registry/src/download_manager.rs | |
| parent | 0802fd44ed11283f15900d2993fc495acf1bed01 (diff) | |
| download | php-mozart-f9671f2dcde92d5c037595d0d3f01396a8190970.tar.gz php-mozart-f9671f2dcde92d5c037595d0d3f01396a8190970.tar.zst php-mozart-f9671f2dcde92d5c037595d0d3f01396a8190970.zip | |
refactor(composer): move Composer and Factory from mozart-core to mozart
Composer needs DownloadManager (from mozart-registry), but mozart-core
sits below mozart-registry in the dependency graph — adding the field
would create a dependency cycle. Moving Composer and create_composer to
the mozart CLI crate breaks the cycle and lets the root state container
hold a DownloadManager.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart-registry/src/download_manager.rs')
| -rw-r--r-- | crates/mozart-registry/src/download_manager.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/mozart-registry/src/download_manager.rs b/crates/mozart-registry/src/download_manager.rs index 3e05517..7c6ff73 100644 --- a/crates/mozart-registry/src/download_manager.rs +++ b/crates/mozart-registry/src/download_manager.rs @@ -35,7 +35,10 @@ impl DownloadManager { Self { git_cache_dir } } - pub fn for_package(&self, package: &LocalPackage) -> Option<Box<dyn VcsDownloader>> { + pub fn get_downloader_for_package( + &self, + package: &LocalPackage, + ) -> Option<Box<dyn VcsDownloader>> { if package.package_type() == Some("metapackage") { return None; } @@ -107,34 +110,34 @@ mod tests { None, Value::Null, ); - assert!(dm.for_package(&p).is_none()); + assert!(dm.get_downloader_for_package(&p).is_none()); } #[test] fn dist_install_returns_none() { let dm = DownloadManager::new(PathBuf::from("/tmp/mz-test-cache")); let p = pkg(Some(InstallationSource::Dist), Some("git")); - assert!(dm.for_package(&p).is_none()); + assert!(dm.get_downloader_for_package(&p).is_none()); } #[test] fn source_install_with_git_returns_some() { let dm = DownloadManager::new(PathBuf::from("/tmp/mz-test-cache")); let p = pkg(Some(InstallationSource::Source), Some("git")); - assert!(dm.for_package(&p).is_some()); + assert!(dm.get_downloader_for_package(&p).is_some()); } #[test] fn unknown_source_kind_returns_none() { let dm = DownloadManager::new(PathBuf::from("/tmp/mz-test-cache")); let p = pkg(Some(InstallationSource::Source), Some("perforce")); - assert!(dm.for_package(&p).is_none()); + assert!(dm.get_downloader_for_package(&p).is_none()); } #[test] fn missing_installation_source_returns_none() { let dm = DownloadManager::new(PathBuf::from("/tmp/mz-test-cache")); let p = pkg(None, Some("git")); - assert!(dm.for_package(&p).is_none()); + assert!(dm.get_downloader_for_package(&p).is_none()); } } |
