diff options
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/operation')
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" |
