From 3d128352f93c4416d087069947920e9fa864df7d Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 6 May 2026 18:05:27 +0900 Subject: feat(core): port Factory::createComposer and AutoloadGenerator::dump Add the Composer state-container types (LocalRepository, RepositoryManager, InstallationManager, AutoloadGenerator, AutoloadDumpOptions, PlatformRequirementFilter, Locker) plus the factory wiring that builds them from composer.json and vendor/composer/installed.json. AutoloadGenerator::dump lives in mozart-autoload as an extension trait so the orchestrating algorithm sits next to the classmap scanner while the state container stays in mozart-core. Rework dump-autoload to drive both, mirroring $composer->getAutoloadGenerator()->dump(...). --- crates/mozart/src/commands/run_script.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'crates/mozart/src/commands/run_script.rs') diff --git a/crates/mozart/src/commands/run_script.rs b/crates/mozart/src/commands/run_script.rs index f7ce7b9..77ed1c7 100644 --- a/crates/mozart/src/commands/run_script.rs +++ b/crates/mozart/src/commands/run_script.rs @@ -1,4 +1,5 @@ use clap::Args; +use mozart_core::composer::Composer; use mozart_core::console_writeln; use std::collections::BTreeMap; use std::path::{Path, PathBuf}; @@ -79,7 +80,7 @@ pub async fn execute( let working_dir = cli.working_dir()?; // RunScriptCommand uses requireComposer in Composer; composer.json must exist. - let composer = mozart_core::composer::Composer::require(&working_dir)?; + let composer = Composer::require(&working_dir)?; let (scripts, descriptions) = load_scripts(&working_dir)?; @@ -444,7 +445,7 @@ fn wait_with_timeout( } } -fn resolve_bin_dir(working_dir: &Path, composer: &mozart_core::composer::Composer) -> PathBuf { +fn resolve_bin_dir(working_dir: &Path, composer: &Composer) -> PathBuf { // bin-dir's `{$vendor-dir}` placeholder is already resolved by Composer::load. working_dir.join(&composer.config().bin_dir) } -- cgit v1.3.1