diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-31 21:34:47 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-01 01:45:00 +0900 |
| commit | 20dbcf11b86cb03c451ba1d5cd9efe17b68fa66d (patch) | |
| tree | d1fc3aaee3b2829d71f49581e1abc86ee62e525f /crates/shirabe/src/command | |
| parent | 29df13733ae4acfd2b172bc9fd9ac9fd28efa013 (diff) | |
| download | php-shirabe-20dbcf11b86cb03c451ba1d5cd9efe17b68fa66d.tar.gz php-shirabe-20dbcf11b86cb03c451ba1d5cd9efe17b68fa66d.tar.zst php-shirabe-20dbcf11b86cb03c451ba1d5cd9efe17b68fa66d.zip | |
Diffstat (limited to 'crates/shirabe/src/command')
| -rw-r--r-- | crates/shirabe/src/command/base_dependency_command.rs | 8 | ||||
| -rw-r--r-- | crates/shirabe/src/command/check_platform_reqs_command.rs | 4 | ||||
| -rw-r--r-- | crates/shirabe/src/command/home_command.rs | 4 | ||||
| -rw-r--r-- | crates/shirabe/src/command/show_command.rs | 28 | ||||
| -rw-r--r-- | crates/shirabe/src/command/suggests_command.rs | 4 |
5 files changed, 29 insertions, 19 deletions
diff --git a/crates/shirabe/src/command/base_dependency_command.rs b/crates/shirabe/src/command/base_dependency_command.rs index 0b89387..177b0e6 100644 --- a/crates/shirabe/src/command/base_dependency_command.rs +++ b/crates/shirabe/src/command/base_dependency_command.rs @@ -55,7 +55,9 @@ pub trait BaseDependencyCommand: BaseCommand { let mut repos: Vec<crate::repository::RepositoryInterfaceHandle> = vec![crate::repository::RepositoryInterfaceHandle::new( - RootPackageRepository::new(composer.get_package().clone()), + RootPackageRepository::new(crate::package::RootPackageInterfaceHandle::dup( + composer.get_package(), + )), )]; if input.get_option("locked").as_bool().unwrap_or(false) { @@ -159,7 +161,9 @@ pub trait BaseDependencyCommand: BaseCommand { ) { installed_repo.add_repository( crate::repository::RepositoryInterfaceHandle::new( - InstalledArrayRepository::new_with_packages(vec![r#match.into()])?, + InstalledArrayRepository::new_with_packages(vec![ + crate::package::PackageInterfaceHandle::dup(&r#match), + ])?, ), )?; } else if PlatformRepository::is_platform_package(&needle) { diff --git a/crates/shirabe/src/command/check_platform_reqs_command.rs b/crates/shirabe/src/command/check_platform_reqs_command.rs index e53727d..bfef6a5 100644 --- a/crates/shirabe/src/command/check_platform_reqs_command.rs +++ b/crates/shirabe/src/command/check_platform_reqs_command.rs @@ -112,7 +112,9 @@ impl CheckPlatformReqsCommand { } } - let root_pkg_repo = RootPackageRepository::new(composer.get_package().clone()); + let root_pkg_repo = RootPackageRepository::new( + crate::package::RootPackageInterfaceHandle::dup(composer.get_package()), + ); let installed_repo = InstalledRepository::new(vec![ installed_repo_base, crate::repository::RepositoryInterfaceHandle::new(root_pkg_repo), diff --git a/crates/shirabe/src/command/home_command.rs b/crates/shirabe/src/command/home_command.rs index 067af8f..e037487 100644 --- a/crates/shirabe/src/command/home_command.rs +++ b/crates/shirabe/src/command/home_command.rs @@ -207,7 +207,9 @@ impl HomeCommand { let composer = crate::command::composer_full(&composer); let mut repos: Vec<crate::repository::RepositoryInterfaceHandle> = vec![]; repos.push(crate::repository::RepositoryInterfaceHandle::new( - RootPackageRepository::new(composer.get_package().clone()), + RootPackageRepository::new(crate::package::RootPackageInterfaceHandle::dup( + composer.get_package(), + )), )); // TODO(phase-b): get_local_repository / get_repositories return shared refs; needs Rc<dyn ...> migration return Ok(repos); diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs index 781ee20..e7fcfe1 100644 --- a/crates/shirabe/src/command/show_command.rs +++ b/crates/shirabe/src/command/show_command.rs @@ -212,8 +212,9 @@ impl ShowCommand { && input.get_option("locked").as_bool() != Some(true) { let composer = self.require_composer(None, None)?; - let package: crate::package::RootPackageInterfaceHandle = - composer.borrow_partial().get_package().clone(); + let package = crate::package::RootPackageInterfaceHandle::dup( + composer.borrow_partial().get_package(), + ); if input.get_option("name-only").as_bool() == Some(true) { self.get_io().write(&package.get_name()); @@ -381,14 +382,15 @@ impl ShowCommand { }; let root_pkg = composer_local.get_package(); - let root_repo: RepositoryInterfaceHandle = - if input.get_option("self").as_bool() == Some(true) { - RepositoryInterfaceHandle::new(RootPackageRepository::new( - composer_local.get_package().clone(), - )) - } else { - RepositoryInterfaceHandle::new(InstalledArrayRepository::new()?) - }; + let root_repo: RepositoryInterfaceHandle = if input.get_option("self").as_bool() + == Some(true) + { + RepositoryInterfaceHandle::new(RootPackageRepository::new( + crate::package::RootPackageInterfaceHandle::dup(composer_local.get_package()), + )) + } else { + RepositoryInterfaceHandle::new(InstalledArrayRepository::new()?) + }; if input.get_option("no-dev").as_bool() == Some(true) { let local_packages = composer_local .get_repository_manager() @@ -401,8 +403,10 @@ impl ShowCommand { false, Vec::new(), ); - let cloned: Vec<crate::package::PackageInterfaceHandle> = - packages.into_iter().map(|p| p.into()).collect(); + let cloned: Vec<crate::package::PackageInterfaceHandle> = packages + .iter() + .map(crate::package::PackageInterfaceHandle::dup) + .collect(); installed_repo = RepositoryInterfaceHandle::new(InstalledRepository::new(vec![ root_repo.clone(), RepositoryInterfaceHandle::new(InstalledArrayRepository::new_with_packages( diff --git a/crates/shirabe/src/command/suggests_command.rs b/crates/shirabe/src/command/suggests_command.rs index 0aead77..2091608 100644 --- a/crates/shirabe/src/command/suggests_command.rs +++ b/crates/shirabe/src/command/suggests_command.rs @@ -48,11 +48,9 @@ impl SuggestsCommand { let composer = self.require_composer(None, None)?; let mut composer = crate::command::composer_full_mut(&composer); - let root_package_handle: crate::package::RootPackageInterfaceHandle = - composer.get_package().clone(); let mut installed_repos: Vec<RepositoryInterfaceHandle> = vec![RepositoryInterfaceHandle::new(RootPackageRepository::new( - root_package_handle, + crate::package::RootPackageInterfaceHandle::dup(composer.get_package()), ))]; if composer.get_locker().borrow_mut().is_locked() { |
