diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-19 21:46:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-19 21:46:08 +0900 |
| commit | 5e31fa33c3b5cf726a57a063b8e7a070869250fe (patch) | |
| tree | 98522466966fa7df483cad174ab5fc03db39bc09 /crates/shirabe/src/downloader/zip_downloader.rs | |
| parent | c839244d8d09f3036ebfee8eef7eb6b147e593ab (diff) | |
| download | php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.tar.gz php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.tar.zst php-shirabe-5e31fa33c3b5cf726a57a063b8e7a070869250fe.zip | |
fix(compile): fix more random compile errors
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/downloader/zip_downloader.rs')
| -rw-r--r-- | crates/shirabe/src/downloader/zip_downloader.rs | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/crates/shirabe/src/downloader/zip_downloader.rs b/crates/shirabe/src/downloader/zip_downloader.rs index 7f779c8..bfaf180 100644 --- a/crates/shirabe/src/downloader/zip_downloader.rs +++ b/crates/shirabe/src/downloader/zip_downloader.rs @@ -7,7 +7,7 @@ use crate::util::ini_helper::IniHelper; use crate::util::platform::Platform; use anyhow::Result; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; use shirabe_external_packages::react::promise::promise_interface::PromiseInterface; use shirabe_external_packages::symfony::component::process::executable_finder::ExecutableFinder; use shirabe_external_packages::symfony::component::process::process::Process; @@ -164,9 +164,7 @@ impl ZipDownloader { } } - self.inner - .inner - .download(package, path, prev_package, output) + self.inner.download(package, path, prev_package, output) } fn extract_with_system_unzip( @@ -217,18 +215,23 @@ impl ZipDownloader { let mut output = String::new(); if self .inner - .inner .process .execute(&[command_spec[1].as_str()], &mut output) == 0 { - if let Some(m) = - Preg::is_match_strict_groups(r"^\s*7-Zip(?:\s\[64\])?\s([0-9.]+)", &output) + let mut m: IndexMap<CaptureKey, String> = IndexMap::new(); + if Preg::is_match_strict_groups3( + r"^\s*7-Zip(?:\s\[64\])?\s([0-9.]+)", + &output, + Some(&mut m), + ) + .unwrap_or(false) { - if version_compare(&m[1], "21.01", "<") { + let m1 = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default(); + if version_compare(&m1, "21.01", "<") { self.inner.io.write_error(&format!( " <warning>Unzipping using {} {} may result in incorrect file permissions. Install {} 21.01+ or unzip to ensure you get correct permissions.</warning>", - executable, m[1], executable, + executable, m1, executable, )); } } @@ -281,7 +284,6 @@ impl ZipDownloader { io.write_error(&format!( "Origin URL: {}", self.inner - .inner .process_url(package, &package.get_dist_url().unwrap_or_default()) )); let headers = FileDownloader::response_headers.lock().unwrap(); @@ -297,7 +299,7 @@ impl ZipDownloader { self.extract_with_zip_archive(package, file, path) }; - match self.inner.process.execute_async(&command) { + match self.inner.process.borrow_mut().execute_async(&command) { Ok(promise) => Ok(promise.then( Box::new(move |process: Process| -> Result<()> { if !process.is_successful() { |
