From 48839250146b217e2756ed3c0e624fd341b54d6c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 18 May 2026 01:55:36 +0900 Subject: fix(compile): extract static methods from BasePackage trait --- crates/shirabe/src/advisory/auditor.rs | 4 ++-- crates/shirabe/src/command/bump_command.rs | 3 ++- crates/shirabe/src/command/completion_trait.rs | 4 ++-- crates/shirabe/src/command/reinstall_command.rs | 3 ++- crates/shirabe/src/command/remove_command.rs | 5 ++-- crates/shirabe/src/command/show_command.rs | 3 ++- crates/shirabe/src/command/update_command.rs | 5 ++-- .../src/dependency_resolver/pool_builder.rs | 6 ++--- .../ignore_list_platform_requirement_filter.rs | 6 ++--- crates/shirabe/src/package/base_package.rs | 28 +++++++++------------- .../shirabe/src/plugin/plugin_blocked_exception.rs | 1 + crates/shirabe/src/plugin/plugin_manager.rs | 6 ++--- .../shirabe/src/repository/composer_repository.rs | 6 ++--- crates/shirabe/src/repository/filter_repository.rs | 6 ++--- 14 files changed, 43 insertions(+), 43 deletions(-) (limited to 'crates/shirabe/src') diff --git a/crates/shirabe/src/advisory/auditor.rs b/crates/shirabe/src/advisory/auditor.rs index e2fb965..e1b40c2 100644 --- a/crates/shirabe/src/advisory/auditor.rs +++ b/crates/shirabe/src/advisory/auditor.rs @@ -16,7 +16,7 @@ use crate::advisory::security_advisory::SecurityAdvisory; use crate::io::console_io::ConsoleIO; use crate::io::io_interface::IOInterface; use crate::json::json_file::JsonFile; -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::package::complete_package_interface::CompletePackageInterface; use crate::package::package_interface::PackageInterface; use crate::repository::repository_set::RepositorySet; @@ -318,7 +318,7 @@ impl Auditor { ) -> Vec> { let mut filter: Option = None; if ignore_abandoned.len() != 0 { - filter = Some(BasePackage::package_names_to_regexp( + filter = Some(base_package::package_names_to_regexp( &array_keys(ignore_abandoned), "{^(?:%s)$}iD", )); diff --git a/crates/shirabe/src/command/bump_command.rs b/crates/shirabe/src/command/bump_command.rs index 7707bb6..5c0cf6e 100644 --- a/crates/shirabe/src/command/bump_command.rs +++ b/crates/shirabe/src/command/bump_command.rs @@ -1,6 +1,7 @@ //! ref: composer/src/Composer/Command/BumpCommand.php use crate::io::io_interface; +use crate::package::base_package; use anyhow::Result; use shirabe_external_packages::composer::pcre::preg::Preg; use shirabe_external_packages::symfony::component::console::command::command::Command; @@ -232,7 +233,7 @@ impl BumpCommand { .collect::>() .into_iter() .collect(); - let pattern = BasePackage::package_names_to_regexp(&unique_lower); + let pattern = base_package::package_names_to_regexp(&unique_lower); for (key, reqs) in tasks.iter_mut() { reqs.retain(|pkg_name, _| Preg::is_match(&pattern, pkg_name).unwrap_or(false)); } diff --git a/crates/shirabe/src/command/completion_trait.rs b/crates/shirabe/src/command/completion_trait.rs index ea2db2b..4e04441 100644 --- a/crates/shirabe/src/command/completion_trait.rs +++ b/crates/shirabe/src/command/completion_trait.rs @@ -1,7 +1,7 @@ //! ref: composer/src/Composer/Command/CompletionTrait.php use crate::composer::Composer; -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::package::package_interface::PackageInterface; use crate::repository::composite_repository::CompositeRepository; use crate::repository::installed_repository::InstalledRepository; @@ -263,7 +263,7 @@ pub trait CompletionTrait { ); let pattern = - BasePackage::package_name_to_regexp(&format!("{}*", input.get_completion_value())); + base_package::package_name_to_regexp(&format!("{}*", input.get_completion_value())); repos .get_packages() diff --git a/crates/shirabe/src/command/reinstall_command.rs b/crates/shirabe/src/command/reinstall_command.rs index 031977e..d16b001 100644 --- a/crates/shirabe/src/command/reinstall_command.rs +++ b/crates/shirabe/src/command/reinstall_command.rs @@ -20,6 +20,7 @@ use crate::dependency_resolver::operation::uninstall_operation::UninstallOperati use crate::dependency_resolver::transaction::Transaction; use crate::io::io_interface::IOInterface; use crate::package::alias_package::AliasPackage; +use crate::package::base_package; use crate::package::base_package::BasePackage; use crate::plugin::command_event::CommandEvent; use crate::plugin::plugin_events::PluginEvents; @@ -134,7 +135,7 @@ impl ReinstallCommand { }) .unwrap_or_default(); for pattern in &patterns { - let pattern_regexp = BasePackage::package_name_to_regexp(pattern); + let pattern_regexp = base_package::package_name_to_regexp(pattern); let mut matched = false; for package in local_repo.get_canonical_packages() { if Preg::is_match(&pattern_regexp, package.get_name()).unwrap_or(false) { diff --git a/crates/shirabe/src/command/remove_command.rs b/crates/shirabe/src/command/remove_command.rs index a66a343..c9e967b 100644 --- a/crates/shirabe/src/command/remove_command.rs +++ b/crates/shirabe/src/command/remove_command.rs @@ -21,6 +21,7 @@ use crate::factory::Factory; use crate::installer::Installer; use crate::io::io_interface::IOInterface; use crate::json::json_file::JsonFile; +use crate::package::base_package; use crate::package::base_package::BasePackage; #[derive(Debug)] @@ -416,7 +417,7 @@ impl RemoveCommand { .map(|m| m.keys().cloned().collect()) .unwrap_or_default(); let matches_in_type = - Preg::grep(&BasePackage::package_name_to_regexp(package), &type_keys) + Preg::grep(&base_package::package_name_to_regexp(package), &type_keys) .unwrap_or_default(); let alt_type_keys: Vec = composer_data @@ -426,7 +427,7 @@ impl RemoveCommand { .map(|m| m.keys().cloned().collect()) .unwrap_or_default(); let matches_in_alt_type = Preg::grep( - &BasePackage::package_name_to_regexp(package), + &base_package::package_name_to_regexp(package), &alt_type_keys, ) .unwrap_or_default(); diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs index f32f414..36dedf3 100644 --- a/crates/shirabe/src/command/show_command.rs +++ b/crates/shirabe/src/command/show_command.rs @@ -26,6 +26,7 @@ use crate::dependency_resolver::default_policy::DefaultPolicy; use crate::filter::platform_requirement_filter::platform_requirement_filter_interface::PlatformRequirementFilterInterface; use crate::io::io_interface::IOInterface; use crate::json::json_file::JsonFile; +use crate::package::base_package; use crate::package::base_package::BasePackage; use crate::package::complete_package_interface::CompletePackageInterface; use crate::package::link::Link; @@ -741,7 +742,7 @@ impl ShowCommand { let show_major_only = input.get_option("major-only").as_bool() == Some(true); let show_minor_only = input.get_option("minor-only").as_bool() == Some(true); let show_patch_only = input.get_option("patch-only").as_bool() == Some(true); - let ignored_packages_regex = BasePackage::package_names_to_regexp( + let ignored_packages_regex = base_package::package_names_to_regexp( input .get_option("ignore") .as_list() diff --git a/crates/shirabe/src/command/update_command.rs b/crates/shirabe/src/command/update_command.rs index fc04e87..b484a93 100644 --- a/crates/shirabe/src/command/update_command.rs +++ b/crates/shirabe/src/command/update_command.rs @@ -1,6 +1,7 @@ //! ref: composer/src/Composer/Command/UpdateCommand.php use crate::io::io_interface; +use crate::package::base_package; use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::preg::Preg; @@ -514,8 +515,8 @@ impl UpdateCommand { ); let filter: Option = if packages.len() > 0 { - // TODO(phase-b): BasePackage::package_names_to_regexp signature - Some(BasePackage::package_names_to_regexp(&packages, "%s")) + // TODO(phase-b): base_package::package_names_to_regexp signature + Some(base_package::package_names_to_regexp(&packages, "%s")) } else { None }; diff --git a/crates/shirabe/src/dependency_resolver/pool_builder.rs b/crates/shirabe/src/dependency_resolver/pool_builder.rs index de5bacf..92d3f62 100644 --- a/crates/shirabe/src/dependency_resolver/pool_builder.rs +++ b/crates/shirabe/src/dependency_resolver/pool_builder.rs @@ -22,7 +22,7 @@ use crate::dependency_resolver::security_advisory_pool_filter::SecurityAdvisoryP use crate::event_dispatcher::event_dispatcher::EventDispatcher; use crate::io::io_interface::IOInterface; use crate::package::alias_package::AliasPackage; -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::package::complete_alias_package::CompleteAliasPackage; use crate::package::complete_package::CompletePackage; use crate::package::package_interface::PackageInterface; @@ -755,7 +755,7 @@ impl PoolBuilder { /// Checks whether the update allow list allows this package in the lock file to be updated fn is_update_allowed(&self, package: &dyn BasePackage) -> bool { for pattern in &self.update_allow_list { - let pattern_regexp = BasePackage::package_name_to_regexp(pattern); + let pattern_regexp = base_package::package_name_to_regexp(pattern); if Preg::is_match(&pattern_regexp, package.get_name(), None).unwrap_or(false) { return true; } @@ -776,7 +776,7 @@ impl PoolBuilder { 'outer: for pattern in &self.update_allow_list { let mut matched_platform_package = false; - let pattern_regexp = BasePackage::package_name_to_regexp(pattern); + let pattern_regexp = base_package::package_name_to_regexp(pattern); // update pattern matches a locked package? => all good for package in request.get_locked_repository().unwrap().get_packages() { if Preg::is_match(&pattern_regexp, package.get_name(), None).unwrap_or(false) { diff --git a/crates/shirabe/src/filter/platform_requirement_filter/ignore_list_platform_requirement_filter.rs b/crates/shirabe/src/filter/platform_requirement_filter/ignore_list_platform_requirement_filter.rs index 29f3c52..8026768 100644 --- a/crates/shirabe/src/filter/platform_requirement_filter/ignore_list_platform_requirement_filter.rs +++ b/crates/shirabe/src/filter/platform_requirement_filter/ignore_list_platform_requirement_filter.rs @@ -9,7 +9,7 @@ use shirabe_semver::interval::Interval; use shirabe_semver::intervals::Intervals; use crate::filter::platform_requirement_filter::platform_requirement_filter_interface::PlatformRequirementFilterInterface; -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::repository::platform_repository::PlatformRepository; #[derive(Debug)] @@ -29,8 +29,8 @@ impl IgnoreListPlatformRequirementFilter { ignore_all.push(req); } } - let ignore_regex = BasePackage::package_names_to_regexp(&ignore_all); - let ignore_upper_bound_regex = BasePackage::package_names_to_regexp(&ignore_upper_bound); + let ignore_regex = base_package::package_names_to_regexp(&ignore_all); + let ignore_upper_bound_regex = base_package::package_names_to_regexp(&ignore_upper_bound); Ok(Self { ignore_regex, ignore_upper_bound_regex, diff --git a/crates/shirabe/src/package/base_package.rs b/crates/shirabe/src/package/base_package.rs index af31bb4..2e50c44 100644 --- a/crates/shirabe/src/package/base_package.rs +++ b/crates/shirabe/src/package/base_package.rs @@ -214,23 +214,17 @@ pub trait BasePackage: PackageInterface + std::fmt::Display { self.take_repository(); *self.id_mut() = -1; } +} - fn package_name_to_regexp(allow_pattern: &str, wrap: &str) -> String - where - Self: Sized, - { - let cleaned = preg_quote(allow_pattern, None).replace("\\*", ".*"); - wrap.replace("%s", &cleaned) - } +pub fn package_name_to_regexp(allow_pattern: &str, wrap: &str) -> String { + let cleaned = preg_quote(allow_pattern, None).replace("\\*", ".*"); + wrap.replace("%s", &cleaned) +} - fn package_names_to_regexp(package_names: &[String], wrap: &str) -> String - where - Self: Sized, - { - let patterns: Vec = package_names - .iter() - .map(|name| Self::package_name_to_regexp(name, "%s")) - .collect(); - wrap.replace("%s", &patterns.join("|")) - } +pub fn package_names_to_regexp(package_names: &[String], wrap: &str) -> String { + let patterns: Vec = package_names + .iter() + .map(|name| package_name_to_regexp(name, "%s")) + .collect(); + wrap.replace("%s", &patterns.join("|")) } diff --git a/crates/shirabe/src/plugin/plugin_blocked_exception.rs b/crates/shirabe/src/plugin/plugin_blocked_exception.rs index b554b13..cf3c7ce 100644 --- a/crates/shirabe/src/plugin/plugin_blocked_exception.rs +++ b/crates/shirabe/src/plugin/plugin_blocked_exception.rs @@ -3,6 +3,7 @@ use shirabe_php_shim::UnexpectedValueException; // TODO(plugin): PluginBlockedException is a part of Plugin API. +#[derive(Debug)] pub struct PluginBlockedException(pub UnexpectedValueException); impl std::fmt::Display for PluginBlockedException { diff --git a/crates/shirabe/src/plugin/plugin_manager.rs b/crates/shirabe/src/plugin/plugin_manager.rs index 4ebe48b..adf5954 100644 --- a/crates/shirabe/src/plugin/plugin_manager.rs +++ b/crates/shirabe/src/plugin/plugin_manager.rs @@ -19,7 +19,7 @@ use crate::composer::Composer; use crate::event_dispatcher::event_subscriber_interface::EventSubscriberInterface; use crate::installer::installer_interface::InstallerInterface; use crate::io::io_interface::IOInterface; -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::package::complete_package::CompletePackage; use crate::package::link::Link; use crate::package::locker::Locker; @@ -700,7 +700,7 @@ impl PluginManager { if let Some(arr) = allow_plugins_config.as_array() { for (pattern, allow) in arr { rules.insert( - BasePackage::package_name_to_regexp(pattern), + base_package::package_name_to_regexp(pattern), allow.as_bool().unwrap_or(false), ); } @@ -807,7 +807,7 @@ impl PluginManager { rules .as_mut() .unwrap() - .insert(BasePackage::package_name_to_regexp(package), allow); + .insert(base_package::package_name_to_regexp(package), allow); // persist answer in composer.json if it wasn't simply discarded if answer_str == "y" || answer_str == "n" { diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index 15ea084..9acebe0 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -23,7 +23,7 @@ use crate::downloader::transport_exception::TransportException; use crate::event_dispatcher::event_dispatcher::EventDispatcher; use crate::io::io_interface::IOInterface; use crate::json::json_file::JsonFile; -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::package::loader::array_loader::ArrayLoader; use crate::package::package_interface::PackageInterface; use crate::package::version::stability_filter::StabilityFilter; @@ -562,7 +562,7 @@ impl ComposerRepository { let has_providers = self.has_providers()?; let package_filter_regex: Option = match package_filter { - Some(p) if !p.is_empty() => Some(BasePackage::package_name_to_regexp(p)), + Some(p) if !p.is_empty() => Some(base_package::package_name_to_regexp(p)), _ => None, }; let filter_results = |results: Vec| -> anyhow::Result> { @@ -2396,7 +2396,7 @@ impl ComposerRepository { let mapped: Vec = patterns .iter() .filter_map(|v| v.as_string()) - .map(|p| BasePackage::package_name_to_regexp(p)) + .map(|p| base_package::package_name_to_regexp(p)) .collect(); self.available_package_patterns = Some(mapped); self.has_available_package_list = true; diff --git a/crates/shirabe/src/repository/filter_repository.rs b/crates/shirabe/src/repository/filter_repository.rs index ce6a38a..c2d5fdf 100644 --- a/crates/shirabe/src/repository/filter_repository.rs +++ b/crates/shirabe/src/repository/filter_repository.rs @@ -1,6 +1,6 @@ //! ref: composer/src/Composer/Repository/FilterRepository.php -use crate::package::base_package::BasePackage; +use crate::package::base_package::{self, BasePackage}; use crate::package::package_interface::PackageInterface; use crate::repository::advisory_provider_interface::{ AdvisoryProviderInterface, SecurityAdvisoryResult, @@ -44,7 +44,7 @@ impl FilterRepository { } }) .collect(); - only = Some(BasePackage::package_names_to_regexp(&names)); + only = Some(base_package::package_names_to_regexp(&names)); } _ => { return Err(InvalidArgumentException { @@ -71,7 +71,7 @@ impl FilterRepository { } }) .collect(); - exclude = Some(BasePackage::package_names_to_regexp(&names)); + exclude = Some(base_package::package_names_to_regexp(&names)); } _ => { return Err(InvalidArgumentException { -- cgit v1.3.1