aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/reinstall_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-11 02:39:35 +0900
committernsfisis <nsfisis@gmail.com>2026-06-11 02:39:35 +0900
commit6ae7e0d4b3eaf20e2d2cd3d000cf61ab0c9b6e83 (patch)
treee39261f4aa7314fe8c75142670c76591cdaccb92 /crates/shirabe/src/command/reinstall_command.rs
parent5d3232a80be4b989e89cc7ae4e3642cc5acae030 (diff)
downloadphp-shirabe-6ae7e0d4b3eaf20e2d2cd3d000cf61ab0c9b6e83.tar.gz
php-shirabe-6ae7e0d4b3eaf20e2d2cd3d000cf61ab0c9b6e83.tar.zst
php-shirabe-6ae7e0d4b3eaf20e2d2cd3d000cf61ab0c9b6e83.zip
feat(console): resolve phase-b TODOs in doRun and IO wiring
Wire up ConsoleIO with HelperSet/QuestionHelper, register the ErrorHandler with the IO instance, and fall back to a default output in run(). Replace resolved phase-b TODOs across the console, command, io, factory, installer, dependency_resolver, and util modules; reclassify the remaining blockers (typed Symfony command registry, stdin resource caching) as phase-c. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/command/reinstall_command.rs')
-rw-r--r--crates/shirabe/src/command/reinstall_command.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/crates/shirabe/src/command/reinstall_command.rs b/crates/shirabe/src/command/reinstall_command.rs
index e56e24b..e6cbac1 100644
--- a/crates/shirabe/src/command/reinstall_command.rs
+++ b/crates/shirabe/src/command/reinstall_command.rs
@@ -226,8 +226,13 @@ impl ReinstallCommand {
indexmap::IndexMap::new(),
);
- // TODO(phase-b): InstallationManager::execute needs `&mut dyn InstalledRepositoryInterface`;
- // local_repo is borrowed shared from RepositoryManager. Needs Rc<RefCell<dyn ...>> migration.
+ // PHP: $installationManager->execute($localRepo, $uninstallOperations, $devMode);
+ // $installationManager->execute($localRepo, $installOperations, $devMode);
+ // TODO(phase-c): two blockers. (1) execute() wants `&mut dyn InstalledRepositoryInterface`,
+ // but local_repo is a RepositoryInterfaceHandle that exposes no raw &mut
+ // InstalledRepositoryInterface view (only per-method helpers). (2) InstallationManager::
+ // execute is itself deferred (its operation/promise machinery stays todo!() — see
+ // installation_manager.rs).
let _ = (
uninstall_operations,
install_operations,
@@ -281,7 +286,13 @@ impl ReinstallCommand {
.as_bool()
.unwrap_or(false);
- // TODO(phase-b): AutoloadGenerator setters/dump need &mut self; conflicts with concurrent borrows of composer subsystems; needs shared-ownership refactor
+ // PHP: $generator = $composer->getAutoloadGenerator(); $generator->setClassMapAuthoritative(...);
+ // $generator->setApcu(...); $generator->setPlatformRequirementFilter(...);
+ // $generator->dump($config, $localRepo, $package, $installationManager, 'composer', $optimize);
+ // TODO(phase-c): AutoloadGenerator::dump (and the setters) take &mut self and dump wants
+ // `local_repo: &mut dyn InstalledRepositoryInterface`, which the RepositoryInterfaceHandle
+ // does not expose as a raw &mut view (the same handle blocker as execute above). Wiring
+ // this needs that accessor plus completing the dump call's remaining arguments.
let _ = (
authoritative,
apcu,