diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-24 00:23:30 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-24 00:23:30 +0900 |
| commit | af0df92e1ecc82823a510646b7545278caeac4b8 (patch) | |
| tree | 4b735eed50dd369895600c2f7cfd0039d274b2af /crates/mozart-registry/src/lockfile.rs | |
| parent | 2622fa3089d1df249276083d157e43b080a59100 (diff) | |
| download | php-mozart-af0df92e1ecc82823a510646b7545278caeac4b8.tar.gz php-mozart-af0df92e1ecc82823a510646b7545278caeac4b8.tar.zst php-mozart-af0df92e1ecc82823a510646b7545278caeac4b8.zip | |
feat(cache): enable repo cache for all Packagist API calls
Remove the Option wrapper from repo_cache in ResolveRequest,
LockFileGenerationRequest, and fetch_package_versions. All commands
now initialize a Cache via build_cache_config(cli.no_cache), ensuring
Packagist metadata is cached to disk (respecting --no-cache flag).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart-registry/src/lockfile.rs')
| -rw-r--r-- | crates/mozart-registry/src/lockfile.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/crates/mozart-registry/src/lockfile.rs b/crates/mozart-registry/src/lockfile.rs index 8f27fbf..eea9b29 100644 --- a/crates/mozart-registry/src/lockfile.rs +++ b/crates/mozart-registry/src/lockfile.rs @@ -242,8 +242,8 @@ pub struct LockFileGenerationRequest { pub composer_json: RawPackageData, /// Whether require-dev was included in resolution. pub include_dev: bool, - /// Optional repo cache for Packagist API calls made during generation. - pub repo_cache: Option<Cache>, + /// Repo cache for Packagist API calls made during generation. + pub repo_cache: Cache, } /// Convert a `PackagistSource` to a `LockedSource`. @@ -396,8 +396,7 @@ pub async fn generate_lock_file(request: &LockFileGenerationRequest) -> anyhow:: // 1. Fetch full metadata for all resolved packages let mut package_metadata: HashMap<String, PackagistVersion> = HashMap::new(); for pkg in &request.resolved_packages { - let versions = - packagist::fetch_package_versions(&pkg.name, request.repo_cache.as_ref()).await?; + let versions = packagist::fetch_package_versions(&pkg.name, &request.repo_cache).await?; // Find the exact version matching pkg.version_normalized let matching = versions .into_iter() @@ -925,7 +924,7 @@ mod tests { composer_json_content: composer_json_content.clone(), composer_json, include_dev: true, - repo_cache: None, + repo_cache: Cache::new(std::env::temp_dir().join("mozart-test-cache"), false), }; let lock = generate_lock_file(&request).await.unwrap(); @@ -1030,7 +1029,7 @@ mod tests { platform: PlatformConfig::new(), ignore_platform_reqs: false, ignore_platform_req_list: vec![], - repo_cache: None, + repo_cache: Cache::new(std::env::temp_dir().join("mozart-test-cache"), false), temporary_constraints: HashMap::new(), repositories: vec![], }; @@ -1049,7 +1048,7 @@ mod tests { composer_json_content: composer_json_content.clone(), composer_json, include_dev: false, - repo_cache: None, + repo_cache: Cache::new(std::env::temp_dir().join("mozart-test-cache"), false), }; let lock = generate_lock_file(&gen_request) |
