diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-24 01:00:48 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-24 01:00:48 +0900 |
| commit | 64ed53cf184fb05cbfe9f0336bc8695ff0e800f8 (patch) | |
| tree | cea8c1854c5c7bf0fcffcaf175f1bf188d9f8904 /crates/mozart/src/commands/install.rs | |
| parent | d9858fbd322ce20de84f44ce67ae11edf081578c (diff) | |
| download | php-mozart-64ed53cf184fb05cbfe9f0336bc8695ff0e800f8.tar.gz php-mozart-64ed53cf184fb05cbfe9f0336bc8695ff0e800f8.tar.zst php-mozart-64ed53cf184fb05cbfe9f0336bc8695ff0e800f8.zip | |
fix(cache): enable dist archive caching for all commands
files_cache was Option<&Cache> and install_from_lock always passed None,
so downloaded zip/tar archives were never cached. Make the parameter
non-optional (&Cache) and wire it through every command that downloads
dist archives (install, update, require, remove, create-project,
archive). The Cache internally respects --no-cache via its enabled flag,
so the Option wrapper was unnecessary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/src/commands/install.rs')
| -rw-r--r-- | crates/mozart/src/commands/install.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/mozart/src/commands/install.rs b/crates/mozart/src/commands/install.rs index 6eedd05..477253c 100644 --- a/crates/mozart/src/commands/install.rs +++ b/crates/mozart/src/commands/install.rs @@ -119,6 +119,8 @@ pub struct InstallConfig { pub download_only: bool, /// Prefer installing from VCS source rather than dist archives. pub prefer_source: bool, + /// Disable the files cache entirely. + pub no_cache: bool, } impl Default for InstallConfig { @@ -136,6 +138,7 @@ impl Default for InstallConfig { apcu_autoloader_prefix: None, download_only: false, prefer_source: false, + no_cache: false, } } } @@ -356,6 +359,9 @@ pub async fn install_from_lock( config: &InstallConfig, console: &mozart_core::console::Console, ) -> anyhow::Result<()> { + let cache_config = mozart_registry::cache::build_cache_config(config.no_cache); + let files_cache = mozart_registry::cache::Cache::files(&cache_config); + let dev_mode = config.dev_mode; // Step 1: Determine which packages to install @@ -492,7 +498,7 @@ pub async fn install_from_lock( vendor_dir, &pkg.name, Some(&mut progress), - None, + &files_cache, ) .await?; @@ -697,6 +703,7 @@ pub async fn execute( apcu_autoloader_prefix: args.apcu_autoloader_prefix.clone(), download_only: args.download_only, prefer_source, + no_cache: cli.no_cache, }, console, ) |
