aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/installed_filesystem_repository.rs
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/repository/installed_filesystem_repository.rs
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/repository/installed_filesystem_repository.rs')
-rw-r--r--crates/shirabe/src/repository/installed_filesystem_repository.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/crates/shirabe/src/repository/installed_filesystem_repository.rs b/crates/shirabe/src/repository/installed_filesystem_repository.rs
index ff28f6e..1d1caf6 100644
--- a/crates/shirabe/src/repository/installed_filesystem_repository.rs
+++ b/crates/shirabe/src/repository/installed_filesystem_repository.rs
@@ -1,11 +1,14 @@
//! ref: composer/src/Composer/Repository/InstalledFilesystemRepository.php
+use anyhow::Result;
use indexmap::IndexMap;
use shirabe_php_shim::Countable;
use shirabe_semver::constraint::constraint_interface::ConstraintInterface;
+use crate::json::json_file::JsonFile;
use crate::package::base_package::BasePackage;
use crate::package::package_interface::PackageInterface;
+use crate::package::root_package_interface::RootPackageInterface;
use crate::repository::advisory_provider_interface::AdvisoryProviderInterface;
use crate::repository::filesystem_repository::FilesystemRepository;
use crate::repository::installed_repository_interface::InstalledRepositoryInterface;
@@ -13,6 +16,7 @@ use crate::repository::repository_interface::{
FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult,
};
use crate::repository::writable_repository_interface::WritableRepositoryInterface;
+use crate::util::filesystem::Filesystem;
#[derive(Debug)]
pub struct InstalledFilesystemRepository {
@@ -20,6 +24,22 @@ pub struct InstalledFilesystemRepository {
}
impl InstalledFilesystemRepository {
+ pub fn new(
+ repository_file: JsonFile,
+ dump_versions: bool,
+ root_package: Option<Box<dyn RootPackageInterface>>,
+ filesystem: Option<Filesystem>,
+ ) -> Result<Self> {
+ Ok(Self {
+ inner: FilesystemRepository::new(
+ repository_file,
+ dump_versions,
+ root_package,
+ filesystem,
+ )?,
+ })
+ }
+
pub fn get_repo_name(&self) -> String {
format!("installed {}", self.inner.get_repo_name())
}