aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/plugin
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-15 23:45:14 +0900
committernsfisis <nsfisis@gmail.com>2026-05-16 10:00:40 +0900
commit71492fc111c15b2b6f1c6fc903a16a5932574dfe (patch)
treeadb9c9929e95d0c99d35e21f1d416af0d17a0036 /crates/shirabe/src/plugin
parentc86f266f7125de0f45bd8ac7719c6e2311196b54 (diff)
downloadphp-shirabe-71492fc111c15b2b6f1c6fc903a16a5932574dfe.tar.gz
php-shirabe-71492fc111c15b2b6f1c6fc903a16a5932574dfe.tar.zst
php-shirabe-71492fc111c15b2b6f1c6fc903a16a5932574dfe.zip
feat(port): port PrePoolCreateEvent.php
Diffstat (limited to 'crates/shirabe/src/plugin')
-rw-r--r--crates/shirabe/src/plugin/pre_pool_create_event.rs87
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;
+ }
+}