diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-19 00:10:22 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-19 00:11:03 +0900 |
| commit | c839244d8d09f3036ebfee8eef7eb6b147e593ab (patch) | |
| tree | fe48c94f2c2e62468beef5ff1a8f3cff6adeef4f /crates/shirabe/src/package/archiver/phar_archiver.rs | |
| parent | 48839250146b217e2756ed3c0e624fd341b54d6c (diff) | |
| download | php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.gz php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.zst php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.zip | |
fix(compile): fix various compile errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/package/archiver/phar_archiver.rs')
| -rw-r--r-- | crates/shirabe/src/package/archiver/phar_archiver.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/crates/shirabe/src/package/archiver/phar_archiver.rs b/crates/shirabe/src/package/archiver/phar_archiver.rs index 2e9d96e..7b5142b 100644 --- a/crates/shirabe/src/package/archiver/phar_archiver.rs +++ b/crates/shirabe/src/package/archiver/phar_archiver.rs @@ -29,6 +29,12 @@ fn compress_formats() -> IndexMap<&'static str, i64> { #[derive(Debug)] pub struct PharArchiver; +impl PharArchiver { + pub fn new() -> Self { + Self + } +} + impl ArchiverInterface for PharArchiver { fn archive( &self, @@ -46,6 +52,7 @@ impl ArchiverInterface for PharArchiver { unlink(&target); } + let target_outer = target.clone(); let inner = (|| -> anyhow::Result<String> { let pos = strrpos(&target, &format).unwrap_or(target.len()); let filename = target[..pos.saturating_sub(1)].to_string(); @@ -63,7 +70,10 @@ impl ArchiverInterface for PharArchiver { *formats.get(format.as_str()).unwrap_or(&Phar::TAR), ); let files = ArchivableFilesFinder::new(&sources, excludes, ignore_filters)?; - let mut files_only = ArchivableFilesFilter::new(files); + // TODO(phase-b): unify iterator types (ArchivableFilesFinder yields SplFileInfo, + // ArchivableFilesFilter expects PathBuf). + let mut files_only = + ArchivableFilesFilter::new(Box::new(files.map(|f| f.get_pathname().into()))); phar.build_from_iterator(&mut files_only, &sources); files_only.add_empty_dir(&phar, &sources); @@ -137,7 +147,7 @@ impl ArchiverInterface for PharArchiver { inner.map_err(|e| { let message = format!( "Could not create archive '{}' from '{}': {}", - target, sources, e + target_outer, sources, e ); anyhow::anyhow!(RuntimeException { message, code: 0 }) }) |
