aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/commands/exec.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-22 00:37:54 +0900
committernsfisis <nsfisis@gmail.com>2026-02-22 00:37:54 +0900
commit0a8e5935e6305819bb02d8c69e2f046ff397913a (patch)
treee5a288e679477b1603d7989e986ca22bbe590aa4 /crates/mozart/src/commands/exec.rs
parentb5af594fec7da72b15c9a202c641af0494db6355 (diff)
downloadphp-mozart-0a8e5935e6305819bb02d8c69e2f046ff397913a.tar.gz
php-mozart-0a8e5935e6305819bb02d8c69e2f046ff397913a.tar.zst
php-mozart-0a8e5935e6305819bb02d8c69e2f046ff397913a.zip
refactor(workspace): split monolithic crate into 6 workspace crates
Extract modules from the single `mozart` crate into 5 focused library crates to improve compilation parallelism and architectural clarity: - mozart-constraint: version constraint parser (independent) - mozart-core: base types, console, validation, platform utilities - mozart-archiver: archive creation (tar, zip, bzip2) - mozart-registry: Packagist API, cache, resolver, downloader, lockfile - mozart-autoload: autoloader generation and PHP scanner Refactor Console::from_cli and build_cache_config to accept primitive args instead of &Cli to break circular dependencies. Introduce [workspace.dependencies] for centralized version management. Remove 9 unused direct dependencies from the CLI crate. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/src/commands/exec.rs')
-rw-r--r--crates/mozart/src/commands/exec.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/mozart/src/commands/exec.rs b/crates/mozart/src/commands/exec.rs
index 32781a5..1e785cb 100644
--- a/crates/mozart/src/commands/exec.rs
+++ b/crates/mozart/src/commands/exec.rs
@@ -20,7 +20,7 @@ pub struct ExecArgs {
pub fn execute(
args: &ExecArgs,
cli: &super::Cli,
- _console: &crate::console::Console,
+ _console: &mozart_core::console::Console,
) -> anyhow::Result<()> {
let working_dir = match &cli.working_dir {
Some(dir) => PathBuf::from(dir),
@@ -58,7 +58,7 @@ pub fn execute(
} else {
// Check root composer.json bin entries
let composer_json_path = working_dir.join("composer.json");
- if let Ok(root) = crate::package::read_from_file(&composer_json_path) {
+ if let Ok(root) = mozart_core::package::read_from_file(&composer_json_path) {
root.bin.into_iter().find_map(|entry| {
let p = working_dir.join(&entry);
let stem = Path::new(&entry)
@@ -159,7 +159,7 @@ fn get_binaries(working_dir: &Path, bin_dir: &Path) -> Vec<(String, bool)> {
// Collect from root composer.json bin entries
let composer_json_path = working_dir.join("composer.json");
- if let Ok(root) = crate::package::read_from_file(&composer_json_path) {
+ if let Ok(root) = mozart_core::package::read_from_file(&composer_json_path) {
let existing: std::collections::HashSet<&str> =
binaries.iter().map(|(n, _)| n.as_str()).collect();
let mut local: Vec<String> = root
@@ -363,7 +363,7 @@ mod tests {
assert!(!candidate.exists());
// Confirm root bin entries are also empty
- let root = crate::package::read_from_file(&dir.path().join("composer.json")).unwrap();
+ let root = mozart_core::package::read_from_file(&dir.path().join("composer.json")).unwrap();
assert!(root.bin.is_empty());
}
}