From e89e1785e3df047a869c48b91709289a3b145b49 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 14:29:50 +0900 Subject: refactor(archiver): yield PathBuf from ArchivableFilesFinder, drop SplFileInfo Migrate ArchivableFilesFinder off Symfony's SplFileInfo onto Path/PathBuf, resolving the phar_archiver TODO(phase-b) that required a .map() adapter to bridge SplFileInfo -> PathBuf. - ArchivableFilesFinder now yields PathBuf; accept() takes &Path; the exclude closure receives &Path and uses Path::canonicalize / is_symlink. The SplFileInfo -> PathBuf conversion happens once at the symfony get_iterator boundary (get_iterator stays SplFileInfo for cache.rs). - symfony Finder::filter callback changed to FnMut(&Path) (sole caller is the finder). - PharArchiver passes the finder straight into ArchivableFilesFilter, mirroring PHP's new ArchivableFilesFilter($files). - ZipArchiver consumes PathBuf items, computing the relative path via strip_prefix(sources) in place of SplFileInfo::getRelativePathname. Co-Authored-By: Claude Opus 4.8 --- crates/shirabe-external-packages/src/symfony/component/finder/finder.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/shirabe-external-packages') diff --git a/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs b/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs index 9d1e9e6..9e84e26 100644 --- a/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs +++ b/crates/shirabe-external-packages/src/symfony/component/finder/finder.rs @@ -44,7 +44,7 @@ impl Finder { todo!() } - pub fn filter(&mut self, _closure: Box bool>) -> &mut Self { + pub fn filter(&mut self, _closure: Box bool>) -> &mut Self { todo!() } -- cgit v1.3.1