aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/archiver
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-12 03:03:35 +0900
committernsfisis <nsfisis@gmail.com>2026-05-12 03:04:42 +0900
commita466a436275950ffc17b163a6a620ff78d0fcc17 (patch)
treed4c194954c6b13864b9f0eb30a2499c1347ec07f /crates/shirabe/src/package/archiver
parent2734853d7b06b6f432e392dfebac2e5c7f90d6ef (diff)
downloadphp-shirabe-a466a436275950ffc17b163a6a620ff78d0fcc17.tar.gz
php-shirabe-a466a436275950ffc17b163a6a620ff78d0fcc17.tar.zst
php-shirabe-a466a436275950ffc17b163a6a620ff78d0fcc17.zip
feat(port): port ComposerExcludeFilter.php
Diffstat (limited to 'crates/shirabe/src/package/archiver')
-rw-r--r--crates/shirabe/src/package/archiver/composer_exclude_filter.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/shirabe/src/package/archiver/composer_exclude_filter.rs b/crates/shirabe/src/package/archiver/composer_exclude_filter.rs
index cb57308..b9a32f4 100644
--- a/crates/shirabe/src/package/archiver/composer_exclude_filter.rs
+++ b/crates/shirabe/src/package/archiver/composer_exclude_filter.rs
@@ -1 +1,16 @@
//! ref: composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php
+
+use super::base_exclude_filter::BaseExcludeFilter;
+
+#[derive(Debug)]
+pub struct ComposerExcludeFilter {
+ inner: BaseExcludeFilter,
+}
+
+impl ComposerExcludeFilter {
+ pub fn new(source_path: String, exclude_rules: Vec<String>) -> Self {
+ let mut inner = BaseExcludeFilter::new(source_path);
+ inner.exclude_patterns = inner.generate_patterns(exclude_rules);
+ Self { inner }
+ }
+}