diff options
Diffstat (limited to 'crates/shirabe')
| -rw-r--r-- | crates/shirabe/src/repository/repository_manager.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/crates/shirabe/src/repository/repository_manager.rs b/crates/shirabe/src/repository/repository_manager.rs index eb755dc..ee5d2d8 100644 --- a/crates/shirabe/src/repository/repository_manager.rs +++ b/crates/shirabe/src/repository/repository_manager.rs @@ -165,6 +165,31 @@ impl RepositoryManager { "Composer\\Repository\\PackageRepository" => Ok(RepositoryInterfaceHandle::new( crate::repository::PackageRepository::new(config), )), + "Composer\\Repository\\VcsRepository" => Ok(RepositoryInterfaceHandle::new( + crate::repository::VcsRepository::new( + config, + self.io.clone(), + self.config.clone(), + self.http_downloader.clone(), + self.event_dispatcher.clone(), + Some(self.process.clone()), + None, + None, + )?, + )), + "Composer\\Repository\\ArtifactRepository" => Ok(RepositoryInterfaceHandle::new( + crate::repository::ArtifactRepository::new(config, self.io.clone())?, + )), + "Composer\\Repository\\PathRepository" => Ok(RepositoryInterfaceHandle::new( + crate::repository::PathRepository::new( + config, + self.io.clone(), + self.config.clone(), + Some(self.http_downloader.clone()), + self.event_dispatcher.clone(), + Some(self.process.clone()), + )?, + )), other => todo!( "Phase B: dynamic class instantiation by class name: {}", other |
