aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-registry
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-09 18:44:31 +0900
committernsfisis <nsfisis@gmail.com>2026-05-09 18:44:31 +0900
commitf9671f2dcde92d5c037595d0d3f01396a8190970 (patch)
tree56e1bfcb8f9940a49bd9e658c982514cdde0c367 /crates/mozart-registry
parent0802fd44ed11283f15900d2993fc495acf1bed01 (diff)
downloadphp-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')
-rw-r--r--crates/mozart-registry/src/download_manager.rs15
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());
}
}