diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-22 00:37:54 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-22 00:37:54 +0900 |
| commit | 0a8e5935e6305819bb02d8c69e2f046ff397913a (patch) | |
| tree | e5a288e679477b1603d7989e986ca22bbe590aa4 /crates/mozart/src/autoload.rs | |
| parent | b5af594fec7da72b15c9a202c641af0494db6355 (diff) | |
| download | php-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/autoload.rs')
| -rw-r--r-- | crates/mozart/src/autoload.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/mozart/src/autoload.rs b/crates/mozart/src/autoload.rs index 5d5d13c..2e4158c 100644 --- a/crates/mozart/src/autoload.rs +++ b/crates/mozart/src/autoload.rs @@ -1,5 +1,5 @@ -use crate::installed::InstalledPackages; -use crate::lockfile::LockedPackage; +use mozart_registry::installed::InstalledPackages; +use mozart_registry::lockfile::LockedPackage; use std::collections::{BTreeMap, HashSet}; use std::path::{Path, PathBuf}; @@ -979,7 +979,7 @@ pub fn determine_suffix(working_dir: &Path, vendor_dir: &Path) -> anyhow::Result // Try composer.lock content-hash let lock_path = working_dir.join("composer.lock"); if lock_path.exists() { - let lock = crate::lockfile::LockFile::read_from_file(&lock_path)?; + let lock = mozart_registry::lockfile::LockFile::read_from_file(&lock_path)?; return Ok(lock.content_hash); } @@ -1167,7 +1167,7 @@ pub fn generate(config: &AutoloadConfig) -> anyhow::Result<()> { installed .packages .iter() - .map(|p| crate::lockfile::LockedPackage { + .map(|p| mozart_registry::lockfile::LockedPackage { name: p.name.clone(), version: p.version.clone(), version_normalized: p.version_normalized.clone(), @@ -1262,7 +1262,7 @@ pub fn generate(config: &AutoloadConfig) -> anyhow::Result<()> { #[cfg(test)] mod tests { use super::*; - use crate::installed::{InstalledPackageEntry, InstalledPackages}; + use mozart_registry::installed::{InstalledPackageEntry, InstalledPackages}; use std::collections::BTreeMap; use tempfile::tempdir; |
