diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-10 23:58:26 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-10 23:58:26 +0900 |
| commit | 8871b923fa3df1935c263db155cb8bc3d59705cd (patch) | |
| tree | 4c080d383c30a0d92229f9b411f1d94976a6e707 /crates/mozart/src/commands/validate.rs | |
| parent | 59bab6efee41a196b0d9d392167c536abbe068ba (diff) | |
| download | php-mozart-8871b923fa3df1935c263db155cb8bc3d59705cd.tar.gz php-mozart-8871b923fa3df1935c263db155cb8bc3d59705cd.tar.zst php-mozart-8871b923fa3df1935c263db155cb8bc3d59705cd.zip | |
refactor(downloader): turn DownloadManager into downloader registry
Reshape DownloadManager from a hard-coded VCS match into a registry of
DownloaderInterface instances keyed by source type, mirroring
Composer's DownloadManager — with prefer-source/dist preferences, an
IO handle, and a files cache. ArchiveManager now resolves dist
sources through a shared DownloadManager instead of calling
download_dist directly, and Composer::require / try_load take an IO
so it flows through the factory wiring.
Diffstat (limited to 'crates/mozart/src/commands/validate.rs')
| -rw-r--r-- | crates/mozart/src/commands/validate.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crates/mozart/src/commands/validate.rs b/crates/mozart/src/commands/validate.rs index a6dbf91..23925c5 100644 --- a/crates/mozart/src/commands/validate.rs +++ b/crates/mozart/src/commands/validate.rs @@ -104,7 +104,9 @@ pub async fn execute( // Load the Composer project state (optional — used for typed config, // locker, and the repository/installation managers). Mirrors // `ValidateCommand::createComposerInstance($file)`. - let composer = Composer::try_load_from_file(&file).ok().flatten(); + let composer = Composer::try_load_from_file(io.clone(), &file) + .ok() + .flatten(); // Determine whether to check the lock file using the typed config when // available, falling back to a raw JSON read for paths where the Composer |
