diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-22 16:37:49 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-22 16:37:49 +0900 |
| commit | b696eb7608d921ae0e14a4296e412c33340ceee8 (patch) | |
| tree | 9a6937bed42ee550553fdb118b9281d00cdce4d9 /crates/mozart/src/commands | |
| parent | 6490fe43676919bc1dcc8659ec4e52da225f92e6 (diff) | |
| download | php-mozart-b696eb7608d921ae0e14a4296e412c33340ceee8.tar.gz php-mozart-b696eb7608d921ae0e14a4296e412c33340ceee8.tar.zst php-mozart-b696eb7608d921ae0e14a4296e412c33340ceee8.zip | |
refactor: reorganize crates to match Composer subpackage structure
Rename mozart-constraint to mozart-semver (mirrors composer/semver) and
extract mozart-class-map-generator from mozart-autoload (mirrors
composer/class-map-generator). No logic changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/src/commands')
| -rw-r--r-- | crates/mozart/src/commands/audit.rs | 6 | ||||
| -rw-r--r-- | crates/mozart/src/commands/check_platform_reqs.rs | 14 | ||||
| -rw-r--r-- | crates/mozart/src/commands/dependency.rs | 30 | ||||
| -rw-r--r-- | crates/mozart/src/commands/outdated.rs | 4 | ||||
| -rw-r--r-- | crates/mozart/src/commands/prohibits.rs | 2 |
5 files changed, 27 insertions, 29 deletions
diff --git a/crates/mozart/src/commands/audit.rs b/crates/mozart/src/commands/audit.rs index 8f15ef0..2faec19 100644 --- a/crates/mozart/src/commands/audit.rs +++ b/crates/mozart/src/commands/audit.rs @@ -273,7 +273,7 @@ fn filter_advisories( .as_deref() .unwrap_or(pkg.version.as_str()); - let installed_ver = match mozart_constraint::Version::parse(version_str) { + let installed_ver = match mozart_semver::Version::parse(version_str) { Ok(v) => v, Err(_) => { eprintln!( @@ -298,9 +298,7 @@ fn filter_advisories( // Normalize single-pipe OR separators (`|`) to double-pipe (`||`) // since the Packagist API may use either form. let normalized_constraint = normalize_or_separator(&advisory.affected_versions); - let constraint = match mozart_constraint::VersionConstraint::parse( - &normalized_constraint, - ) { + let constraint = match mozart_semver::VersionConstraint::parse(&normalized_constraint) { Ok(c) => c, Err(_) => { eprintln!( diff --git a/crates/mozart/src/commands/check_platform_reqs.rs b/crates/mozart/src/commands/check_platform_reqs.rs index 295f9b7..79a1da7 100644 --- a/crates/mozart/src/commands/check_platform_reqs.rs +++ b/crates/mozart/src/commands/check_platform_reqs.rs @@ -279,21 +279,21 @@ fn check_requirements( } Some(detected) => { // Check all constraints - let detected_version = match mozart_constraint::Version::parse(&detected.version) { + let detected_version = match mozart_semver::Version::parse(&detected.version) { Ok(v) => v, Err(_) => { // Unparseable version → treat as 0.0.0 - mozart_constraint::Version::parse("0.0.0").unwrap() + mozart_semver::Version::parse("0.0.0").unwrap() } }; let mut failed_req: Option<(String, String)> = None; for req in reqs { - let constraint = - match mozart_constraint::VersionConstraint::parse(&req.constraint) { - Ok(c) => c, - Err(_) => continue, // skip unparseable constraints - }; + let constraint = match mozart_semver::VersionConstraint::parse(&req.constraint) + { + Ok(c) => c, + Err(_) => continue, // skip unparseable constraints + }; if !constraint.matches(&detected_version) { failed_req = Some((req.constraint.clone(), req.provider.clone())); break; diff --git a/crates/mozart/src/commands/dependency.rs b/crates/mozart/src/commands/dependency.rs index 4714de2..5073be0 100644 --- a/crates/mozart/src/commands/dependency.rs +++ b/crates/mozart/src/commands/dependency.rs @@ -192,7 +192,7 @@ fn load_from_installed(working_dir: &Path) -> Result<Vec<PackageInfo>> { pub fn get_dependents( packages: &[PackageInfo], needles: &[String], - constraint: Option<&mozart_constraint::VersionConstraint>, + constraint: Option<&mozart_semver::VersionConstraint>, inverted: bool, recursive: bool, ) -> Result<Vec<DependencyResult>> { @@ -317,7 +317,7 @@ fn recurse_dependents( fn get_prohibitors( packages: &[PackageInfo], needles: &[String], - constraint: Option<&mozart_constraint::VersionConstraint>, + constraint: Option<&mozart_semver::VersionConstraint>, _recursive: bool, ) -> Result<Vec<DependencyResult>> { let mut results: Vec<DependencyResult> = Vec::new(); @@ -333,7 +333,7 @@ fn get_prohibitors( .find(|(k, _)| k.to_lowercase() == needle_lower) && let Some(requested_version) = constraint && let Ok(pkg_constraint) = - mozart_constraint::VersionConstraint::parse(req_constraint_str) + mozart_semver::VersionConstraint::parse(req_constraint_str) { // The package requires `needle` but with a different // (incompatible) constraint — it blocks the requested version. @@ -359,7 +359,7 @@ fn get_prohibitors( .find(|(k, _)| k.to_lowercase() == needle_lower) && let Some(requested_version) = constraint && let Ok(pkg_constraint) = - mozart_constraint::VersionConstraint::parse(req_constraint_str) + mozart_semver::VersionConstraint::parse(req_constraint_str) && constraint_prohibits(requested_version, &pkg_constraint) { results.push(DependencyResult { @@ -380,7 +380,7 @@ fn get_prohibitors( .find(|(k, _)| k.to_lowercase() == needle_lower) && let Some(requested_version) = constraint && let Ok(conflict_constraint) = - mozart_constraint::VersionConstraint::parse(conflict_constraint_str) + mozart_semver::VersionConstraint::parse(conflict_constraint_str) { // If the conflict constraint overlaps with (matches) the // requested version range, this package conflicts with it. @@ -408,8 +408,8 @@ fn get_prohibitors( /// We sample a set of "representative versions" from the requested constraint /// and check whether none of them satisfy the package's constraint. fn constraint_prohibits( - requested: &mozart_constraint::VersionConstraint, - pkg_constraint: &mozart_constraint::VersionConstraint, + requested: &mozart_semver::VersionConstraint, + pkg_constraint: &mozart_semver::VersionConstraint, ) -> bool { // We try to determine if there is any version satisfying *requested* that // does NOT satisfy *pkg_constraint*. @@ -430,8 +430,8 @@ fn constraint_prohibits( /// That is, if the conflict constraint matches at least one version that the /// requested constraint also matches. fn constraint_overlaps( - requested: &mozart_constraint::VersionConstraint, - conflict_constraint: &mozart_constraint::VersionConstraint, + requested: &mozart_semver::VersionConstraint, + conflict_constraint: &mozart_semver::VersionConstraint, ) -> bool { let probes = sample_versions_from_constraint(requested); if probes.is_empty() { @@ -446,9 +446,9 @@ fn constraint_overlaps( /// constraint. These are used for the "does this constraint overlap/prohibit /// that constraint?" heuristic. fn sample_versions_from_constraint( - constraint: &mozart_constraint::VersionConstraint, -) -> Vec<mozart_constraint::Version> { - use mozart_constraint::Version; + constraint: &mozart_semver::VersionConstraint, +) -> Vec<mozart_semver::Version> { + use mozart_semver::Version; // Broad grid of versions to probe let candidates: &[&str] = &[ @@ -685,7 +685,7 @@ mod tests { make_pkg("root/project", "ROOT", &[("vendor/a", "^1.0")], &[], true), make_pkg("vendor/a", "1.0.0", &[], &[], false), ]; - let constraint = mozart_constraint::VersionConstraint::parse("2.0.0").unwrap(); + let constraint = mozart_semver::VersionConstraint::parse("2.0.0").unwrap(); let needles = vec!["vendor/a".to_string()]; let results = get_dependents(&packages, &needles, Some(&constraint), true, false).unwrap(); assert!(!results.is_empty(), "root should prohibit vendor/a 2.0"); @@ -713,7 +713,7 @@ mod tests { false, ), ]; - let constraint = mozart_constraint::VersionConstraint::parse("2.0.0").unwrap(); + let constraint = mozart_semver::VersionConstraint::parse("2.0.0").unwrap(); let needles = vec!["vendor/a".to_string()]; let results = get_dependents(&packages, &needles, Some(&constraint), true, false).unwrap(); // vendor/b conflicts with vendor/a ^2.0 which covers 2.0.0 @@ -733,7 +733,7 @@ mod tests { make_pkg("root/project", "ROOT", &[("vendor/a", "^2.0")], &[], true), make_pkg("vendor/a", "2.0.0", &[], &[], false), ]; - let constraint = mozart_constraint::VersionConstraint::parse("2.5.0").unwrap(); + let constraint = mozart_semver::VersionConstraint::parse("2.5.0").unwrap(); let needles = vec!["vendor/a".to_string()]; let results = get_dependents(&packages, &needles, Some(&constraint), true, false).unwrap(); assert!( diff --git a/crates/mozart/src/commands/outdated.rs b/crates/mozart/src/commands/outdated.rs index eba0d52..1807435 100644 --- a/crates/mozart/src/commands/outdated.rs +++ b/crates/mozart/src/commands/outdated.rs @@ -371,8 +371,8 @@ fn classify_update( // We have an update available — classify it if let Some(constraint_str) = root_constraint - && let Ok(constraint) = mozart_constraint::VersionConstraint::parse(constraint_str) - && let Ok(latest_ver) = mozart_constraint::Version::parse(latest_normalized) + && let Ok(constraint) = mozart_semver::VersionConstraint::parse(constraint_str) + && let Ok(latest_ver) = mozart_semver::Version::parse(latest_normalized) { if constraint.matches(&latest_ver) { return UpdateCategory::SemverCompatible; diff --git a/crates/mozart/src/commands/prohibits.rs b/crates/mozart/src/commands/prohibits.rs index 1f45b27..ca3bc35 100644 --- a/crates/mozart/src/commands/prohibits.rs +++ b/crates/mozart/src/commands/prohibits.rs @@ -43,7 +43,7 @@ pub async fn execute( } // Parse the version constraint the user is asking about - let version_constraint = mozart_constraint::VersionConstraint::parse(&args.version) + let version_constraint = mozart_semver::VersionConstraint::parse(&args.version) .map_err(|e| anyhow::anyhow!("Invalid version constraint '{}': {}", args.version, e))?; let recursive = args.tree || args.recursive; |
