diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-15 23:45:14 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-16 10:00:40 +0900 |
| commit | 71492fc111c15b2b6f1c6fc903a16a5932574dfe (patch) | |
| tree | adb9c9929e95d0c99d35e21f1d416af0d17a0036 /crates/shirabe/src | |
| parent | c86f266f7125de0f45bd8ac7719c6e2311196b54 (diff) | |
| download | php-shirabe-71492fc111c15b2b6f1c6fc903a16a5932574dfe.tar.gz php-shirabe-71492fc111c15b2b6f1c6fc903a16a5932574dfe.tar.zst php-shirabe-71492fc111c15b2b6f1c6fc903a16a5932574dfe.zip | |
feat(port): port PrePoolCreateEvent.php
Diffstat (limited to 'crates/shirabe/src')
| -rw-r--r-- | crates/shirabe/src/plugin/pre_pool_create_event.rs | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/crates/shirabe/src/plugin/pre_pool_create_event.rs b/crates/shirabe/src/plugin/pre_pool_create_event.rs index 4605a32..3126119 100644 --- a/crates/shirabe/src/plugin/pre_pool_create_event.rs +++ b/crates/shirabe/src/plugin/pre_pool_create_event.rs @@ -1 +1,88 @@ //! ref: composer/src/Composer/Plugin/PrePoolCreateEvent.php + +use indexmap::IndexMap; + +use crate::dependency_resolver::request::Request; +use crate::event_dispatcher::event::Event; +use crate::package::base_package::BasePackage; +use crate::repository::repository_interface::RepositoryInterface; + +#[derive(Debug)] +pub struct PrePoolCreateEvent { + inner: Event, + repositories: Vec<Box<dyn RepositoryInterface>>, + request: Request, + acceptable_stabilities: IndexMap<String, i64>, + stability_flags: IndexMap<String, i64>, + root_aliases: IndexMap<String, IndexMap<String, IndexMap<String, String>>>, + root_references: IndexMap<String, String>, + packages: Vec<BasePackage>, + unacceptable_fixed_packages: Vec<BasePackage>, +} + +impl PrePoolCreateEvent { + #[allow(clippy::too_many_arguments)] + pub fn new( + name: String, + repositories: Vec<Box<dyn RepositoryInterface>>, + request: Request, + acceptable_stabilities: IndexMap<String, i64>, + stability_flags: IndexMap<String, i64>, + root_aliases: IndexMap<String, IndexMap<String, IndexMap<String, String>>>, + root_references: IndexMap<String, String>, + packages: Vec<BasePackage>, + unacceptable_fixed_packages: Vec<BasePackage>, + ) -> Self { + Self { + inner: Event::new(name, vec![], IndexMap::new()), + repositories, + request, + acceptable_stabilities, + stability_flags, + root_aliases, + root_references, + packages, + unacceptable_fixed_packages, + } + } + + pub fn get_repositories(&self) -> &Vec<Box<dyn RepositoryInterface>> { + &self.repositories + } + + pub fn get_request(&self) -> &Request { + &self.request + } + + pub fn get_acceptable_stabilities(&self) -> &IndexMap<String, i64> { + &self.acceptable_stabilities + } + + pub fn get_stability_flags(&self) -> &IndexMap<String, i64> { + &self.stability_flags + } + + pub fn get_root_aliases(&self) -> &IndexMap<String, IndexMap<String, IndexMap<String, String>>> { + &self.root_aliases + } + + pub fn get_root_references(&self) -> &IndexMap<String, String> { + &self.root_references + } + + pub fn get_packages(&self) -> &Vec<BasePackage> { + &self.packages + } + + pub fn get_unacceptable_fixed_packages(&self) -> &Vec<BasePackage> { + &self.unacceptable_fixed_packages + } + + pub fn set_packages(&mut self, packages: Vec<BasePackage>) { + self.packages = packages; + } + + pub fn set_unacceptable_fixed_packages(&mut self, packages: Vec<BasePackage>) { + self.unacceptable_fixed_packages = packages; + } +} |
