aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/operation
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-19 00:10:22 +0900
committernsfisis <nsfisis@gmail.com>2026-05-19 00:11:03 +0900
commitc839244d8d09f3036ebfee8eef7eb6b147e593ab (patch)
treefe48c94f2c2e62468beef5ff1a8f3cff6adeef4f /crates/shirabe/src/dependency_resolver/operation
parent48839250146b217e2756ed3c0e624fd341b54d6c (diff)
downloadphp-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.gz
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.zst
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.zip
fix(compile): fix various compile errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/operation')
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/install_operation.rs3
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs17
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs17
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/operation_interface.rs6
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs3
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/update_operation.rs28
6 files changed, 50 insertions, 24 deletions
diff --git a/crates/shirabe/src/dependency_resolver/operation/install_operation.rs b/crates/shirabe/src/dependency_resolver/operation/install_operation.rs
index c51271b..1835636 100644
--- a/crates/shirabe/src/dependency_resolver/operation/install_operation.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/install_operation.rs
@@ -23,7 +23,8 @@ impl InstallOperation {
"{}<info>{}</info> (<comment>{}</comment>)",
if lock { "Locking " } else { "Installing " },
package.get_pretty_name(),
- package.get_full_pretty_version(),
+ package
+ .get_full_pretty_version(true, <dyn PackageInterface>::DISPLAY_SOURCE_REF_IF_DEV),
)
}
}
diff --git a/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs b/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs
index 6788c44..e5a7df9 100644
--- a/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/mark_alias_installed_operation.rs
@@ -3,6 +3,7 @@
use crate::dependency_resolver::operation::operation_interface::OperationInterface;
use crate::dependency_resolver::operation::solver_operation::SolverOperation;
use crate::package::alias_package::AliasPackage;
+use crate::package::package_interface::PackageInterface;
#[derive(Debug)]
pub struct MarkAliasInstalledOperation {
@@ -31,10 +32,18 @@ impl OperationInterface for MarkAliasInstalledOperation {
fn show(&self, _lock: bool) -> String {
format!(
"Marking <info>{}</info> (<comment>{}</comment>) as installed, alias of <info>{}</info> (<comment>{}</comment>)",
- self.package.get_pretty_name(),
- self.package.get_full_pretty_version(),
- self.package.get_alias_of().get_pretty_name(),
- self.package.get_alias_of().get_full_pretty_version(),
+ PackageInterface::get_pretty_name(&self.package),
+ PackageInterface::get_full_pretty_version(
+ &self.package,
+ true,
+ <dyn PackageInterface>::DISPLAY_SOURCE_REF_IF_DEV,
+ ),
+ PackageInterface::get_pretty_name(self.package.get_alias_of()),
+ PackageInterface::get_full_pretty_version(
+ self.package.get_alias_of(),
+ true,
+ <dyn PackageInterface>::DISPLAY_SOURCE_REF_IF_DEV,
+ ),
)
}
diff --git a/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs b/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs
index 68f18c4..21e257d 100644
--- a/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/mark_alias_uninstalled_operation.rs
@@ -3,6 +3,7 @@
use crate::dependency_resolver::operation::operation_interface::OperationInterface;
use crate::dependency_resolver::operation::solver_operation::SolverOperation;
use crate::package::alias_package::AliasPackage;
+use crate::package::package_interface::PackageInterface;
#[derive(Debug)]
pub struct MarkAliasUninstalledOperation {
@@ -31,10 +32,18 @@ impl OperationInterface for MarkAliasUninstalledOperation {
fn show(&self, _lock: bool) -> String {
format!(
"Marking <info>{}</info> (<comment>{}</comment>) as uninstalled, alias of <info>{}</info> (<comment>{}</comment>)",
- self.package.get_pretty_name(),
- self.package.get_full_pretty_version(),
- self.package.get_alias_of().get_pretty_name(),
- self.package.get_alias_of().get_full_pretty_version(),
+ PackageInterface::get_pretty_name(&self.package),
+ PackageInterface::get_full_pretty_version(
+ &self.package,
+ true,
+ <dyn PackageInterface>::DISPLAY_SOURCE_REF_IF_DEV,
+ ),
+ PackageInterface::get_pretty_name(self.package.get_alias_of()),
+ PackageInterface::get_full_pretty_version(
+ self.package.get_alias_of(),
+ true,
+ <dyn PackageInterface>::DISPLAY_SOURCE_REF_IF_DEV,
+ ),
)
}
diff --git a/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs b/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs
index 99a40c4..d93bd0f 100644
--- a/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/operation_interface.rs
@@ -1,9 +1,13 @@
//! ref: composer/src/Composer/DependencyResolver/Operation/OperationInterface.php
-pub trait OperationInterface {
+pub trait OperationInterface: std::fmt::Debug {
fn get_operation_type(&self) -> String;
fn show(&self, lock: bool) -> String;
fn to_string(&self) -> String;
+
+ fn clone_box(&self) -> Box<dyn OperationInterface> {
+ todo!()
+ }
}
diff --git a/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs b/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs
index b0b6fee..138a8c8 100644
--- a/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/uninstall_operation.rs
@@ -22,7 +22,8 @@ impl UninstallOperation {
format!(
"Removing <info>{}</info> (<comment>{}</comment>)",
package.get_pretty_name(),
- package.get_full_pretty_version(),
+ package
+ .get_full_pretty_version(true, <dyn PackageInterface>::DISPLAY_SOURCE_REF_IF_DEV),
)
}
}
diff --git a/crates/shirabe/src/dependency_resolver/operation/update_operation.rs b/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
index 618ecee..c1498ad 100644
--- a/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
@@ -32,31 +32,33 @@ impl UpdateOperation {
target_package: &dyn PackageInterface,
lock: bool,
) -> String {
- let mut from_version =
- initial_package.get_full_pretty_version(false, PackageInterface::DISPLAY_SOURCE_REF);
- let mut to_version =
- target_package.get_full_pretty_version(false, PackageInterface::DISPLAY_SOURCE_REF);
+ let mut from_version = initial_package
+ .get_full_pretty_version(false, <dyn PackageInterface>::DISPLAY_SOURCE_REF);
+ let mut to_version = target_package
+ .get_full_pretty_version(false, <dyn PackageInterface>::DISPLAY_SOURCE_REF);
if from_version == to_version
&& initial_package.get_source_reference() != target_package.get_source_reference()
{
- from_version =
- initial_package.get_full_pretty_version(true, PackageInterface::DISPLAY_SOURCE_REF);
- to_version =
- target_package.get_full_pretty_version(true, PackageInterface::DISPLAY_SOURCE_REF);
+ from_version = initial_package
+ .get_full_pretty_version(true, <dyn PackageInterface>::DISPLAY_SOURCE_REF);
+ to_version = target_package
+ .get_full_pretty_version(true, <dyn PackageInterface>::DISPLAY_SOURCE_REF);
} else if from_version == to_version
&& initial_package.get_dist_reference() != target_package.get_dist_reference()
{
- from_version =
- initial_package.get_full_pretty_version(true, PackageInterface::DISPLAY_DIST_REF);
- to_version =
- target_package.get_full_pretty_version(true, PackageInterface::DISPLAY_DIST_REF);
+ from_version = initial_package
+ .get_full_pretty_version(true, <dyn PackageInterface>::DISPLAY_DIST_REF);
+ to_version = target_package
+ .get_full_pretty_version(true, <dyn PackageInterface>::DISPLAY_DIST_REF);
}
let action_name = if VersionParser::is_upgrade(
&initial_package.get_version(),
&target_package.get_version(),
- ) {
+ )
+ .unwrap_or(false)
+ {
"Upgrading"
} else {
"Downgrading"