diff options
Diffstat (limited to 'crates/shirabe/src/repository')
39 files changed, 447 insertions, 442 deletions
diff --git a/crates/shirabe/src/repository/advisory_provider_interface.rs b/crates/shirabe/src/repository/advisory_provider_interface.rs index 9d627e5..4c08a63 100644 --- a/crates/shirabe/src/repository/advisory_provider_interface.rs +++ b/crates/shirabe/src/repository/advisory_provider_interface.rs @@ -1,9 +1,9 @@ //! ref: composer/src/Composer/Repository/AdvisoryProviderInterface.php -use crate::advisory::partial_security_advisory::PartialSecurityAdvisory; -use crate::advisory::security_advisory::SecurityAdvisory; +use crate::advisory::PartialSecurityAdvisory; +use crate::advisory::SecurityAdvisory; use indexmap::IndexMap; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; #[derive(Debug)] pub enum PartialOrSecurityAdvisory { diff --git a/crates/shirabe/src/repository/array_repository.rs b/crates/shirabe/src/repository/array_repository.rs index c8a465e..f8d2e0c 100644 --- a/crates/shirabe/src/repository/array_repository.rs +++ b/crates/shirabe/src/repository/array_repository.rs @@ -5,23 +5,23 @@ use std::cell::RefCell; use anyhow::Result; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ Countable, InvalidArgumentException, LogicException, implode, preg_quote, spl_object_hash, strtolower, }; -use shirabe_semver::constraint::constraint::Constraint; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::Constraint; +use shirabe_semver::constraint::ConstraintInterface; -use crate::package::alias_package::AliasPackage; -use crate::package::base_package::BasePackage; -use crate::package::complete_alias_package::CompleteAliasPackage; -use crate::package::complete_package::CompletePackage; -use crate::package::complete_package_interface::CompletePackageInterface; -use crate::package::package_interface::PackageInterface; -use crate::package::version::stability_filter::StabilityFilter; -use crate::package::version::version_parser::VersionParser; -use crate::repository::repository_interface::{ +use crate::package::AliasPackage; +use crate::package::BasePackage; +use crate::package::CompleteAliasPackage; +use crate::package::CompletePackage; +use crate::package::CompletePackageInterface; +use crate::package::PackageInterface; +use crate::package::version::StabilityFilter; +use crate::package::version::VersionParser; +use crate::repository::{ AbandonedInfo, FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; @@ -222,7 +222,7 @@ impl RepositoryInterface for ArrayRepository { LoadPackagesResult { names_found: names_found.into_keys().collect(), - packages: result.into_values().collect(), + packages: result, } } @@ -288,7 +288,7 @@ impl RepositoryInterface for ArrayRepository { } fn search(&self, query: String, mode: i64, r#type: Option<String>) -> Vec<SearchResult> { - let regex = if mode == crate::repository::repository_interface::SEARCH_FULLTEXT { + let regex = if mode == crate::repository::SEARCH_FULLTEXT { let parts = Preg::split("{\\s+}", &preg_quote(&query, None)).unwrap_or_default(); format!("{{(?:{})}}i", implode("|", &parts)) } else { @@ -300,7 +300,7 @@ impl RepositoryInterface for ArrayRepository { let mut matches: IndexMap<String, SearchResult> = IndexMap::new(); for package in self.get_packages() { let mut name = PackageInterface::get_name(package.as_ref()).to_string(); - if mode == crate::repository::repository_interface::SEARCH_VENDOR { + if mode == crate::repository::SEARCH_VENDOR { // PHP: [$name] = explode('/', $name); let parts: Vec<&str> = name.splitn(2, '/').collect(); name = parts[0].to_string(); @@ -316,7 +316,7 @@ impl RepositoryInterface for ArrayRepository { let complete = package.as_any().downcast_ref::<CompletePackage>(); - let fulltext_match = mode == crate::repository::repository_interface::SEARCH_FULLTEXT + let fulltext_match = mode == crate::repository::SEARCH_FULLTEXT && complete.is_some() && Preg::is_match( ®ex, @@ -329,7 +329,7 @@ impl RepositoryInterface for ArrayRepository { .unwrap_or(false); if Preg::is_match(®ex, &name).unwrap_or(false) || fulltext_match { - if mode == crate::repository::repository_interface::SEARCH_VENDOR { + if mode == crate::repository::SEARCH_VENDOR { matches.insert( name.clone(), SearchResult { diff --git a/crates/shirabe/src/repository/artifact_repository.rs b/crates/shirabe/src/repository/artifact_repository.rs index 2ca7420..674325d 100644 --- a/crates/shirabe/src/repository/artifact_repository.rs +++ b/crates/shirabe/src/repository/artifact_repository.rs @@ -8,16 +8,16 @@ use shirabe_php_shim::{ PhpMixed, RuntimeException, UnexpectedValueException, extension_loaded, hash_file, }; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::package::base_package::BasePackage; -use crate::package::loader::array_loader::ArrayLoader; -use crate::package::loader::loader_interface::LoaderInterface; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::configurable_repository_interface::ConfigurableRepositoryInterface; -use crate::util::platform::Platform; -use crate::util::tar::Tar; -use crate::util::zip::Zip; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::package::BasePackage; +use crate::package::loader::ArrayLoader; +use crate::package::loader::LoaderInterface; +use crate::repository::ArrayRepository; +use crate::repository::ConfigurableRepositoryInterface; +use crate::util::Platform; +use crate::util::Tar; +use crate::util::Zip; pub struct ArtifactRepository { inner: ArrayRepository, diff --git a/crates/shirabe/src/repository/canonical_packages_trait.rs b/crates/shirabe/src/repository/canonical_packages_trait.rs index 3c9c75c..8c6e7c2 100644 --- a/crates/shirabe/src/repository/canonical_packages_trait.rs +++ b/crates/shirabe/src/repository/canonical_packages_trait.rs @@ -1,6 +1,6 @@ //! ref: composer/src/Composer/Repository/CanonicalPackagesTrait.php -use crate::package::package_interface::PackageInterface; +use crate::package::PackageInterface; use indexmap::IndexMap; /// Provides get_canonical_packages() to various repository implementations. diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index ac6e834..772cedc 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -1,9 +1,9 @@ //! ref: composer/src/Composer/Repository/ComposerRepository.php use indexmap::IndexMap; -use shirabe_external_packages::composer::metadata_minifier::metadata_minifier::MetadataMinifier; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; -use shirabe_external_packages::react::promise::promise_interface::PromiseInterface; +use shirabe_external_packages::composer::metadata_minifier::MetadataMinifier; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; +use shirabe_external_packages::react::promise::PromiseInterface; use shirabe_php_shim::{ Countable, InvalidArgumentException, JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, LogicException, PHP_EOL, PhpMixed, RuntimeException, UnexpectedValueException, @@ -12,37 +12,37 @@ use shirabe_php_shim::{ }; use shirabe_semver::compiling_matcher::CompilingMatcher; -use shirabe_semver::constraint::constraint::Constraint; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; -use shirabe_semver::constraint::match_all_constraint::MatchAllConstraint; +use shirabe_semver::constraint::Constraint; +use shirabe_semver::constraint::ConstraintInterface; +use shirabe_semver::constraint::MatchAllConstraint; -use crate::advisory::partial_security_advisory::PartialSecurityAdvisory; +use crate::advisory::PartialSecurityAdvisory; use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::event_dispatcher::event_dispatcher::EventDispatcher; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; +use crate::downloader::TransportException; +use crate::event_dispatcher::EventDispatcher; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::package::PackageInterface; use crate::package::base_package::{self, BasePackage}; -use crate::package::loader::array_loader::ArrayLoader; -use crate::package::package_interface::PackageInterface; -use crate::package::version::stability_filter::StabilityFilter; -use crate::package::version::version_parser::VersionParser; -use crate::plugin::plugin_events::PluginEvents; -use crate::plugin::post_file_download_event::PostFileDownloadEvent; -use crate::plugin::pre_file_download_event::PreFileDownloadEvent; -use crate::repository::advisory_provider_interface::{ - PartialOrSecurityAdvisory, SecurityAdvisoryResult, -}; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::configurable_repository_interface::ConfigurableRepositoryInterface; -use crate::repository::platform_repository::PlatformRepository; -use crate::repository::repository_interface::RepositoryInterface; -use crate::repository::repository_security_exception::RepositorySecurityException; -use crate::util::http::response::Response; -use crate::util::http_downloader::HttpDownloader; +use crate::package::loader::ArrayLoader; +use crate::package::version::StabilityFilter; +use crate::package::version::VersionParser; +use crate::plugin::PluginEvents; +use crate::plugin::PostFileDownloadEvent; +use crate::plugin::PreFileDownloadEvent; +use crate::repository::ArrayRepository; +use crate::repository::ConfigurableRepositoryInterface; +use crate::repository::LoadPackagesResult; +use crate::repository::PlatformRepository; +use crate::repository::RepositoryInterface; +use crate::repository::RepositorySecurityException; +use crate::repository::{PartialOrSecurityAdvisory, SecurityAdvisoryResult}; +use crate::repository::{SEARCH_FULLTEXT, SEARCH_VENDOR}; +use crate::util::HttpDownloader; +use crate::util::Url; +use crate::util::http::Response; use crate::util::r#loop::Loop; -use crate::util::url::Url; #[derive(Debug)] pub enum RootData { @@ -126,12 +126,6 @@ pub enum FindPackageReturn { } #[derive(Debug)] -pub struct LoadPackagesResult { - pub names_found: Vec<String>, - pub packages: IndexMap<String, Box<dyn BasePackage>>, -} - -#[derive(Debug)] pub struct LoadAsyncPackagesResult { pub names_found: IndexMap<String, bool>, pub packages: IndexMap<String, Box<dyn BasePackage>>, @@ -394,7 +388,7 @@ impl ComposerRepository { Ok(self.inner.find_package( &name, - crate::repository::repository_interface::FindPackageConstraint::Constraint(constraint), + crate::repository::FindPackageConstraint::Constraint(constraint), )) } @@ -464,8 +458,7 @@ impl ComposerRepository { Ok(self.inner.find_packages( &name, - constraint - .map(crate::repository::repository_interface::FindPackageConstraint::Constraint), + constraint.map(crate::repository::FindPackageConstraint::Constraint), )) } @@ -3598,9 +3591,6 @@ impl ComposerRepository { } } -pub const SEARCH_FULLTEXT: i64 = 0; -pub const SEARCH_VENDOR: i64 = 2; - #[derive(Debug)] enum FetchFileIfLastModifiedResult { NotModified, diff --git a/crates/shirabe/src/repository/composite_repository.rs b/crates/shirabe/src/repository/composite_repository.rs index 2c26469..b3ac1dd 100644 --- a/crates/shirabe/src/repository/composite_repository.rs +++ b/crates/shirabe/src/repository/composite_repository.rs @@ -3,11 +3,11 @@ use std::any::Any; use indexmap::IndexMap; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; -use crate::package::base_package::BasePackage; -use crate::package::package_interface::PackageInterface; -use crate::repository::repository_interface::{ +use crate::package::BasePackage; +use crate::package::PackageInterface; +use crate::repository::{ FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; @@ -116,7 +116,7 @@ impl RepositoryInterface for CompositeRepository { stability_flags: IndexMap<String, i64>, already_loaded: IndexMap<String, IndexMap<String, Box<dyn PackageInterface>>>, ) -> LoadPackagesResult { - let mut all_packages = vec![]; + let mut all_packages = IndexMap::new(); let mut all_names_found = vec![]; for repository in &self.repositories { diff --git a/crates/shirabe/src/repository/filesystem_repository.rs b/crates/shirabe/src/repository/filesystem_repository.rs index f30e401..96c7b61 100644 --- a/crates/shirabe/src/repository/filesystem_repository.rs +++ b/crates/shirabe/src/repository/filesystem_repository.rs @@ -2,10 +2,10 @@ use std::any::Any; -use crate::util::silencer::Silencer; +use crate::util::Silencer; use anyhow::Result; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ Exception, InvalidArgumentException, LogicException, PhpMixed, SORT_NATURAL, UnexpectedValueException, array_flip, dirname, r#eval, file_get_contents, get_class, @@ -14,20 +14,20 @@ use shirabe_php_shim::{ }; use crate::installed_versions::InstalledVersions; -use crate::installer::installation_manager::InstallationManager; -use crate::json::json_file::JsonFile; -use crate::package::alias_package::AliasPackage; -use crate::package::dumper::array_dumper::ArrayDumper; -use crate::package::loader::array_loader::ArrayLoader; -use crate::package::loader::loader_interface::LoaderInterface; -use crate::package::package_interface::PackageInterface; -use crate::package::root_alias_package::RootAliasPackage; -use crate::package::root_package_interface::RootPackageInterface; -use crate::repository::invalid_repository_exception::InvalidRepositoryException; -use crate::repository::platform_repository::PlatformRepository; -use crate::repository::writable_array_repository::WritableArrayRepository; -use crate::util::filesystem::Filesystem; -use crate::util::platform::Platform; +use crate::installer::InstallationManager; +use crate::json::JsonFile; +use crate::package::AliasPackage; +use crate::package::PackageInterface; +use crate::package::RootAliasPackage; +use crate::package::RootPackageInterface; +use crate::package::dumper::ArrayDumper; +use crate::package::loader::ArrayLoader; +use crate::package::loader::LoaderInterface; +use crate::repository::InvalidRepositoryException; +use crate::repository::PlatformRepository; +use crate::repository::WritableArrayRepository; +use crate::util::Filesystem; +use crate::util::Platform; /// Filesystem repository. #[derive(Debug)] diff --git a/crates/shirabe/src/repository/filter_repository.rs b/crates/shirabe/src/repository/filter_repository.rs index 482ffbe..8a0e6f6 100644 --- a/crates/shirabe/src/repository/filter_repository.rs +++ b/crates/shirabe/src/repository/filter_repository.rs @@ -1,18 +1,16 @@ //! ref: composer/src/Composer/Repository/FilterRepository.php +use crate::package::PackageInterface; use crate::package::base_package::{self, BasePackage}; -use crate::package::package_interface::PackageInterface; -use crate::repository::advisory_provider_interface::{ - AdvisoryProviderInterface, SecurityAdvisoryResult, -}; -use crate::repository::repository_interface::{ +use crate::repository::{AdvisoryProviderInterface, SecurityAdvisoryResult}; +use crate::repository::{ FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; use anyhow::Result; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{InvalidArgumentException, PhpMixed}; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; #[derive(Debug)] pub struct FilterRepository { @@ -199,7 +197,7 @@ impl RepositoryInterface for FilterRepository { if package_name_map.is_empty() { return LoadPackagesResult { names_found: Vec::new(), - packages: Vec::new(), + packages: IndexMap::new(), }; } diff --git a/crates/shirabe/src/repository/installed_array_repository.rs b/crates/shirabe/src/repository/installed_array_repository.rs index ddcda90..fd273b9 100644 --- a/crates/shirabe/src/repository/installed_array_repository.rs +++ b/crates/shirabe/src/repository/installed_array_repository.rs @@ -2,17 +2,17 @@ use indexmap::IndexMap; use shirabe_php_shim::Countable; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; -use crate::package::base_package::BasePackage; -use crate::package::package_interface::PackageInterface; -use crate::repository::advisory_provider_interface::AdvisoryProviderInterface; -use crate::repository::installed_repository_interface::InstalledRepositoryInterface; -use crate::repository::repository_interface::{ +use crate::package::BasePackage; +use crate::package::PackageInterface; +use crate::repository::AdvisoryProviderInterface; +use crate::repository::InstalledRepositoryInterface; +use crate::repository::WritableArrayRepository; +use crate::repository::WritableRepositoryInterface; +use crate::repository::{ FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; -use crate::repository::writable_array_repository::WritableArrayRepository; -use crate::repository::writable_repository_interface::WritableRepositoryInterface; #[derive(Debug)] pub struct InstalledArrayRepository { @@ -49,28 +49,26 @@ impl WritableRepositoryInterface for InstalledArrayRepository { fn write( &mut self, dev_mode: bool, - installation_manager: &crate::installer::installation_manager::InstallationManager, + installation_manager: &crate::installer::InstallationManager, ) -> anyhow::Result<()> { todo!() } fn add_package( &mut self, - package: Box<dyn crate::package::package_interface::PackageInterface>, + package: Box<dyn crate::package::PackageInterface>, ) -> anyhow::Result<()> { todo!() } fn remove_package( &mut self, - package: &dyn crate::package::package_interface::PackageInterface, + package: &dyn crate::package::PackageInterface, ) -> anyhow::Result<()> { todo!() } - fn get_canonical_packages( - &self, - ) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + fn get_canonical_packages(&self) -> Vec<Box<dyn crate::package::PackageInterface>> { todo!() } diff --git a/crates/shirabe/src/repository/installed_filesystem_repository.rs b/crates/shirabe/src/repository/installed_filesystem_repository.rs index c7f2a4d..db1428a 100644 --- a/crates/shirabe/src/repository/installed_filesystem_repository.rs +++ b/crates/shirabe/src/repository/installed_filesystem_repository.rs @@ -3,20 +3,20 @@ use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::Countable; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::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; -use crate::repository::repository_interface::{ +use crate::json::JsonFile; +use crate::package::BasePackage; +use crate::package::PackageInterface; +use crate::package::RootPackageInterface; +use crate::repository::AdvisoryProviderInterface; +use crate::repository::FilesystemRepository; +use crate::repository::InstalledRepositoryInterface; +use crate::repository::WritableRepositoryInterface; +use crate::repository::{ FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; -use crate::repository::writable_repository_interface::WritableRepositoryInterface; -use crate::util::filesystem::Filesystem; +use crate::util::Filesystem; #[derive(Debug)] pub struct InstalledFilesystemRepository { @@ -59,28 +59,26 @@ impl WritableRepositoryInterface for InstalledFilesystemRepository { fn write( &mut self, dev_mode: bool, - installation_manager: &crate::installer::installation_manager::InstallationManager, + installation_manager: &crate::installer::InstallationManager, ) -> anyhow::Result<()> { todo!() } fn add_package( &mut self, - package: Box<dyn crate::package::package_interface::PackageInterface>, + package: Box<dyn crate::package::PackageInterface>, ) -> anyhow::Result<()> { todo!() } fn remove_package( &mut self, - package: &dyn crate::package::package_interface::PackageInterface, + package: &dyn crate::package::PackageInterface, ) -> anyhow::Result<()> { todo!() } - fn get_canonical_packages( - &self, - ) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + fn get_canonical_packages(&self) -> Vec<Box<dyn crate::package::PackageInterface>> { todo!() } diff --git a/crates/shirabe/src/repository/installed_repository.rs b/crates/shirabe/src/repository/installed_repository.rs index 6091b15..3163ed2 100644 --- a/crates/shirabe/src/repository/installed_repository.rs +++ b/crates/shirabe/src/repository/installed_repository.rs @@ -2,23 +2,23 @@ use indexmap::IndexMap; use shirabe_php_shim::LogicException; -use shirabe_semver::constraint::constraint::Constraint; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; -use shirabe_semver::constraint::match_all_constraint::MatchAllConstraint; +use shirabe_semver::constraint::Constraint; +use shirabe_semver::constraint::ConstraintInterface; +use shirabe_semver::constraint::MatchAllConstraint; -use crate::package::base_package::BasePackage; -use crate::package::link::Link; -use crate::package::package_interface::PackageInterface; -use crate::package::root_package_interface::RootPackageInterface; -use crate::package::version::version_parser::VersionParser; -use crate::repository::composite_repository::CompositeRepository; -use crate::repository::installed_repository_interface::InstalledRepositoryInterface; -use crate::repository::lock_array_repository::LockArrayRepository; -use crate::repository::platform_repository::PlatformRepository; -use crate::repository::repository_interface::{ +use crate::package::BasePackage; +use crate::package::Link; +use crate::package::PackageInterface; +use crate::package::RootPackageInterface; +use crate::package::version::VersionParser; +use crate::repository::CompositeRepository; +use crate::repository::InstalledRepositoryInterface; +use crate::repository::LockArrayRepository; +use crate::repository::PlatformRepository; +use crate::repository::RootPackageRepository; +use crate::repository::{ FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; -use crate::repository::root_package_repository::RootPackageRepository; pub enum NeedleInput { Single(String), diff --git a/crates/shirabe/src/repository/installed_repository_interface.rs b/crates/shirabe/src/repository/installed_repository_interface.rs index 80efef9..201870c 100644 --- a/crates/shirabe/src/repository/installed_repository_interface.rs +++ b/crates/shirabe/src/repository/installed_repository_interface.rs @@ -1,6 +1,6 @@ //! ref: composer/src/Composer/Repository/InstalledRepositoryInterface.php -use crate::repository::writable_repository_interface::WritableRepositoryInterface; +use crate::repository::WritableRepositoryInterface; pub trait InstalledRepositoryInterface: WritableRepositoryInterface { fn get_dev_mode(&self) -> Option<bool>; diff --git a/crates/shirabe/src/repository/lock_array_repository.rs b/crates/shirabe/src/repository/lock_array_repository.rs index 87acf6e..295d982 100644 --- a/crates/shirabe/src/repository/lock_array_repository.rs +++ b/crates/shirabe/src/repository/lock_array_repository.rs @@ -1,15 +1,15 @@ //! ref: composer/src/Composer/Repository/LockArrayRepository.php -use crate::package::base_package::BasePackage; -use crate::package::package_interface::PackageInterface; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::canonical_packages_trait::CanonicalPackagesTrait; -use crate::repository::repository_interface::{ +use crate::package::BasePackage; +use crate::package::PackageInterface; +use crate::repository::ArrayRepository; +use crate::repository::CanonicalPackagesTrait; +use crate::repository::{ FindPackageConstraint, LoadPackagesResult, ProviderInfo, RepositoryInterface, SearchResult, }; use indexmap::IndexMap; use shirabe_php_shim::Countable; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; #[derive(Debug)] pub struct LockArrayRepository { diff --git a/crates/shirabe/src/repository/mod.rs b/crates/shirabe/src/repository/mod.rs index e570051..6f037d0 100644 --- a/crates/shirabe/src/repository/mod.rs +++ b/crates/shirabe/src/repository/mod.rs @@ -29,3 +29,35 @@ pub mod vcs_repository; pub mod version_cache_interface; pub mod writable_array_repository; pub mod writable_repository_interface; + +pub use advisory_provider_interface::*; +pub use array_repository::*; +pub use artifact_repository::*; +pub use canonical_packages_trait::*; +pub use composer_repository::*; +pub use composite_repository::*; +pub use configurable_repository_interface::*; +pub use filesystem_repository::*; +pub use filter_repository::*; +pub use installed_array_repository::*; +pub use installed_filesystem_repository::*; +pub use installed_repository::*; +pub use installed_repository_interface::*; +pub use invalid_repository_exception::*; +pub use lock_array_repository::*; +pub use package_repository::*; +pub use path_repository::*; +pub use pear_repository::*; +pub use platform_repository::*; +pub use repository_factory::*; +pub use repository_interface::*; +pub use repository_manager::*; +pub use repository_security_exception::*; +pub use repository_set::*; +pub use repository_utils::*; +pub use root_package_repository::*; +pub use vcs::*; +pub use vcs_repository::*; +pub use version_cache_interface::*; +pub use writable_array_repository::*; +pub use writable_repository_interface::*; diff --git a/crates/shirabe/src/repository/package_repository.rs b/crates/shirabe/src/repository/package_repository.rs index dc8a8f3..6e8186c 100644 --- a/crates/shirabe/src/repository/package_repository.rs +++ b/crates/shirabe/src/repository/package_repository.rs @@ -1,19 +1,19 @@ //! ref: composer/src/Composer/Repository/PackageRepository.php -use crate::advisory::partial_security_advisory::PartialSecurityAdvisory; -use crate::advisory::security_advisory::SecurityAdvisory; -use crate::package::loader::array_loader::ArrayLoader; -use crate::package::loader::validating_array_loader::ValidatingArrayLoader; -use crate::package::version::version_parser::VersionParser; -use crate::repository::advisory_provider_interface::{ +use crate::advisory::PartialSecurityAdvisory; +use crate::advisory::SecurityAdvisory; +use crate::package::loader::ArrayLoader; +use crate::package::loader::ValidatingArrayLoader; +use crate::package::version::VersionParser; +use crate::repository::ArrayRepository; +use crate::repository::InvalidRepositoryException; +use crate::repository::{ AdvisoryProviderInterface, PartialOrSecurityAdvisory, SecurityAdvisoryResult, }; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::invalid_repository_exception::InvalidRepositoryException; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{Exception, PhpMixed, RuntimeException, var_export}; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; #[derive(Debug)] pub struct PackageRepository { @@ -78,7 +78,7 @@ impl PackageRepository { } pub fn get_repo_name(&self) -> String { - use crate::repository::repository_interface::RepositoryInterface; + use crate::repository::RepositoryInterface; Preg::replace(r"^array ", "package ", &self.inner.get_repo_name()) .unwrap_or_else(|_| self.inner.get_repo_name()) } diff --git a/crates/shirabe/src/repository/path_repository.rs b/crates/shirabe/src/repository/path_repository.rs index 620bff8..7d37951 100644 --- a/crates/shirabe/src/repository/path_repository.rs +++ b/crates/shirabe/src/repository/path_repository.rs @@ -1,28 +1,28 @@ //! ref: composer/src/Composer/Repository/PathRepository.php use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ DIRECTORY_SEPARATOR, GLOB_BRACE, GLOB_MARK, GLOB_ONLYDIR, PhpMixed, RuntimeException, defined, file_exists, file_get_contents, glob_with_flags, hash, realpath, serialize, }; use crate::config::Config; -use crate::event_dispatcher::event_dispatcher::EventDispatcher; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::package::loader::array_loader::ArrayLoader; -use crate::package::loader::loader_interface::LoaderInterface; -use crate::package::version::version_guesser::VersionGuesser; -use crate::package::version::version_parser::VersionParser; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::configurable_repository_interface::ConfigurableRepositoryInterface; -use crate::util::filesystem::Filesystem; -use crate::util::git::Git as GitUtil; -use crate::util::http_downloader::HttpDownloader; -use crate::util::platform::Platform; -use crate::util::process_executor::ProcessExecutor; -use crate::util::url::Url; +use crate::event_dispatcher::EventDispatcher; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::package::loader::ArrayLoader; +use crate::package::loader::LoaderInterface; +use crate::package::version::VersionGuesser; +use crate::package::version::VersionParser; +use crate::repository::ArrayRepository; +use crate::repository::ConfigurableRepositoryInterface; +use crate::util::Filesystem; +use crate::util::Git as GitUtil; +use crate::util::HttpDownloader; +use crate::util::Platform; +use crate::util::ProcessExecutor; +use crate::util::Url; #[derive(Debug)] pub struct PathRepository { diff --git a/crates/shirabe/src/repository/pear_repository.rs b/crates/shirabe/src/repository/pear_repository.rs index 6ee4db7..1f0e29e 100644 --- a/crates/shirabe/src/repository/pear_repository.rs +++ b/crates/shirabe/src/repository/pear_repository.rs @@ -1,6 +1,6 @@ //! ref: composer/src/Composer/Repository/PearRepository.php -use super::array_repository::ArrayRepository; +use super::ArrayRepository; use shirabe_php_shim::InvalidArgumentException; #[derive(Debug)] diff --git a/crates/shirabe/src/repository/platform_repository.rs b/crates/shirabe/src/repository/platform_repository.rs index 79c06fe..17fde5d 100644 --- a/crates/shirabe/src/repository/platform_repository.rs +++ b/crates/shirabe/src/repository/platform_repository.rs @@ -4,28 +4,28 @@ use std::sync::{LazyLock, Mutex}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; -use shirabe_external_packages::composer::xdebug_handler::xdebug_handler::XdebugHandler; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; +use shirabe_external_packages::composer::xdebug_handler::XdebugHandler; use shirabe_php_shim::{ InvalidArgumentException, PhpMixed, UnexpectedValueException, array_map_str_fn, array_slice, array_slice_strs, explode, get_class, implode, in_array, is_string, sprintf, str_replace, str_starts_with, strpos, strtolower, var_export, }; -use shirabe_semver::constraint::constraint::Constraint; +use shirabe_semver::constraint::Constraint; use crate::composer::Composer; -use crate::package::complete_package::CompletePackage; -use crate::package::complete_package_interface::CompletePackageInterface; -use crate::package::link::Link; -use crate::package::package_interface::PackageInterface; -use crate::package::version::version_parser::VersionParser; -use crate::platform::hhvm_detector::HhvmDetector; -use crate::platform::runtime::Runtime; -use crate::platform::version::Version; +use crate::package::CompletePackage; +use crate::package::CompletePackageInterface; +use crate::package::Link; +use crate::package::PackageInterface; +use crate::package::version::VersionParser; +use crate::platform::HhvmDetector; +use crate::platform::Runtime; +use crate::platform::Version; use crate::plugin::plugin_interface::{self, PluginInterface}; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::repository_interface::RepositoryInterface; -use crate::util::silencer::Silencer; +use crate::repository::ArrayRepository; +use crate::repository::RepositoryInterface; +use crate::util::Silencer; static LAST_SEEN_PLATFORM_PHP: LazyLock<Mutex<Option<String>>> = LazyLock::new(|| Mutex::new(None)); @@ -1609,9 +1609,7 @@ impl PlatformRepository { let overrider = self.inner.find_package( package.get_name(), - crate::repository::repository_interface::FindPackageConstraint::String( - "*".to_string(), - ), + crate::repository::FindPackageConstraint::String("*".to_string()), ); let actual_text = if let Some(ref ov) = overrider { if package.get_version() == ov.get_version() { @@ -1879,9 +1877,9 @@ impl PlatformRepository { query: String, mode: i64, r#type: Option<String>, - ) -> Vec<crate::repository::repository_interface::SearchResult> { + ) -> Vec<crate::repository::SearchResult> { // suppress vendor search as there are no vendors to match in platform packages - if mode == crate::repository::repository_interface::SEARCH_VENDOR { + if mode == crate::repository::SEARCH_VENDOR { return Vec::new(); } @@ -1936,7 +1934,7 @@ impl shirabe_php_shim::Countable for PlatformRepository { } } -impl crate::repository::repository_interface::RepositoryInterface for PlatformRepository { +impl crate::repository::RepositoryInterface for PlatformRepository { fn has_package(&self, package: &dyn PackageInterface) -> bool { self.inner.has_package(package) } @@ -1944,20 +1942,20 @@ impl crate::repository::repository_interface::RepositoryInterface for PlatformRe fn find_package( &self, name: &str, - constraint: crate::repository::repository_interface::FindPackageConstraint, - ) -> Option<Box<dyn crate::package::base_package::BasePackage>> { + constraint: crate::repository::FindPackageConstraint, + ) -> Option<Box<dyn crate::package::BasePackage>> { self.inner.find_package(name, constraint) } fn find_packages( &self, name: &str, - constraint: Option<crate::repository::repository_interface::FindPackageConstraint>, - ) -> Vec<Box<dyn crate::package::base_package::BasePackage>> { + constraint: Option<crate::repository::FindPackageConstraint>, + ) -> Vec<Box<dyn crate::package::BasePackage>> { self.inner.find_packages(name, constraint) } - fn get_packages(&self) -> Vec<Box<dyn crate::package::base_package::BasePackage>> { + fn get_packages(&self) -> Vec<Box<dyn crate::package::BasePackage>> { self.inner.get_packages() } @@ -1965,12 +1963,12 @@ impl crate::repository::repository_interface::RepositoryInterface for PlatformRe &self, package_name_map: IndexMap< String, - Option<Box<dyn shirabe_semver::constraint::constraint_interface::ConstraintInterface>>, + Option<Box<dyn shirabe_semver::constraint::ConstraintInterface>>, >, acceptable_stabilities: IndexMap<String, i64>, stability_flags: IndexMap<String, i64>, already_loaded: IndexMap<String, IndexMap<String, Box<dyn PackageInterface>>>, - ) -> crate::repository::repository_interface::LoadPackagesResult { + ) -> crate::repository::LoadPackagesResult { self.inner.load_packages( package_name_map, acceptable_stabilities, @@ -1984,14 +1982,14 @@ impl crate::repository::repository_interface::RepositoryInterface for PlatformRe query: String, mode: i64, r#type: Option<String>, - ) -> Vec<crate::repository::repository_interface::SearchResult> { + ) -> Vec<crate::repository::SearchResult> { self.inner.search(query, mode, r#type) } fn get_providers( &self, package_name: String, - ) -> IndexMap<String, crate::repository::repository_interface::ProviderInfo> { + ) -> IndexMap<String, crate::repository::ProviderInfo> { self.inner.get_providers(package_name) } diff --git a/crates/shirabe/src/repository/repository_factory.rs b/crates/shirabe/src/repository/repository_factory.rs index 614166c..38e436b 100644 --- a/crates/shirabe/src/repository/repository_factory.rs +++ b/crates/shirabe/src/repository/repository_factory.rs @@ -1,21 +1,21 @@ //! ref: composer/src/Composer/Repository/RepositoryFactory.php use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ InvalidArgumentException, PhpMixed, UnexpectedValueException, get_debug_type, json_encode, }; use crate::config::Config; -use crate::event_dispatcher::event_dispatcher::EventDispatcher; +use crate::event_dispatcher::EventDispatcher; use crate::factory::Factory; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::filesystem_repository::FilesystemRepository; -use crate::repository::repository_interface::RepositoryInterface; -use crate::repository::repository_manager::RepositoryManager; -use crate::util::http_downloader::HttpDownloader; -use crate::util::process_executor::ProcessExecutor; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::FilesystemRepository; +use crate::repository::RepositoryInterface; +use crate::repository::RepositoryManager; +use crate::util::HttpDownloader; +use crate::util::ProcessExecutor; pub struct RepositoryFactory; diff --git a/crates/shirabe/src/repository/repository_interface.rs b/crates/shirabe/src/repository/repository_interface.rs index de37b5f..d18951b 100644 --- a/crates/shirabe/src/repository/repository_interface.rs +++ b/crates/shirabe/src/repository/repository_interface.rs @@ -1,11 +1,11 @@ //! ref: composer/src/Composer/Repository/RepositoryInterface.php -use crate::package::base_package::BasePackage; -use crate::package::package_interface::PackageInterface; -use crate::repository::advisory_provider_interface::AdvisoryProviderInterface; +use crate::package::BasePackage; +use crate::package::PackageInterface; +use crate::repository::AdvisoryProviderInterface; use indexmap::IndexMap; use shirabe_php_shim::Countable; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; pub enum FindPackageConstraint { String(String), @@ -21,9 +21,10 @@ impl Clone for FindPackageConstraint { } } +#[derive(Debug)] pub struct LoadPackagesResult { pub names_found: Vec<String>, - pub packages: Vec<Box<dyn BasePackage>>, + pub packages: IndexMap<String, Box<dyn BasePackage>>, } #[derive(Debug, Clone)] @@ -88,8 +89,7 @@ pub trait RepositoryInterface: Countable + std::fmt::Debug { fn as_installed_repository_interface( &self, - ) -> Option<&dyn crate::repository::installed_repository_interface::InstalledRepositoryInterface> - { + ) -> Option<&dyn crate::repository::InstalledRepositoryInterface> { None } diff --git a/crates/shirabe/src/repository/repository_manager.rs b/crates/shirabe/src/repository/repository_manager.rs index b697949..10e3e37 100644 --- a/crates/shirabe/src/repository/repository_manager.rs +++ b/crates/shirabe/src/repository/repository_manager.rs @@ -2,17 +2,17 @@ use indexmap::IndexMap; use shirabe_php_shim::{InvalidArgumentException, PhpMixed, json_encode}; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; +use shirabe_semver::constraint::ConstraintInterface; use crate::config::Config; -use crate::event_dispatcher::event_dispatcher::EventDispatcher; -use crate::io::io_interface::IOInterface; -use crate::package::package_interface::PackageInterface; -use crate::repository::filter_repository::FilterRepository; -use crate::repository::installed_repository_interface::InstalledRepositoryInterface; -use crate::repository::repository_interface::RepositoryInterface; -use crate::util::http_downloader::HttpDownloader; -use crate::util::process_executor::ProcessExecutor; +use crate::event_dispatcher::EventDispatcher; +use crate::io::IOInterface; +use crate::package::PackageInterface; +use crate::repository::FilterRepository; +use crate::repository::InstalledRepositoryInterface; +use crate::repository::RepositoryInterface; +use crate::util::HttpDownloader; +use crate::util::ProcessExecutor; #[derive(Debug)] pub struct RepositoryManager { @@ -56,9 +56,7 @@ impl RepositoryManager { for repository in &self.repositories { if let Some(package) = repository.find_package( name, - crate::repository::repository_interface::FindPackageConstraint::Constraint( - constraint.clone_box(), - ), + crate::repository::FindPackageConstraint::Constraint(constraint.clone_box()), ) { return Some(package.clone_package_box()); } @@ -75,11 +73,9 @@ impl RepositoryManager { for repository in self.get_repositories() { for p in repository.find_packages( name, - Some( - crate::repository::repository_interface::FindPackageConstraint::Constraint( - constraint.clone_box(), - ), - ), + Some(crate::repository::FindPackageConstraint::Constraint( + constraint.clone_box(), + )), ) { packages.push(p.clone_package_box()); } diff --git a/crates/shirabe/src/repository/repository_set.rs b/crates/shirabe/src/repository/repository_set.rs index f39840b..84b2424 100644 --- a/crates/shirabe/src/repository/repository_set.rs +++ b/crates/shirabe/src/repository/repository_set.rs @@ -8,37 +8,35 @@ use shirabe_php_shim::{ LogicException, PhpMixed, RuntimeException, array_merge, array_merge_recursive, ksort, strtolower, }; -use shirabe_semver::constraint::constraint::Constraint; -use shirabe_semver::constraint::constraint_interface::ConstraintInterface; -use shirabe_semver::constraint::match_all_constraint::MatchAllConstraint; -use shirabe_semver::constraint::multi_constraint::MultiConstraint; +use shirabe_semver::constraint::Constraint; +use shirabe_semver::constraint::ConstraintInterface; +use shirabe_semver::constraint::MatchAllConstraint; +use shirabe_semver::constraint::MultiConstraint; -use crate::advisory::partial_security_advisory::PartialSecurityAdvisory; -use crate::advisory::security_advisory::SecurityAdvisory; -use crate::dependency_resolver::pool::Pool; -use crate::dependency_resolver::pool_builder::PoolBuilder; -use crate::dependency_resolver::pool_optimizer::PoolOptimizer; -use crate::dependency_resolver::request::Request; -use crate::dependency_resolver::security_advisory_pool_filter::SecurityAdvisoryPoolFilter; -use crate::downloader::transport_exception::TransportException; -use crate::event_dispatcher::event_dispatcher::EventDispatcher; -use crate::io::io_interface::IOInterface; -use crate::io::null_io::NullIO; -use crate::package::alias_package::AliasPackage; -use crate::package::base_package::BasePackage; -use crate::package::complete_alias_package::CompleteAliasPackage; -use crate::package::complete_package::CompletePackage; -use crate::package::package_interface::PackageInterface; -use crate::package::version::stability_filter::StabilityFilter; -use crate::repository::advisory_provider_interface::{ - AdvisoryProviderInterface, PartialOrSecurityAdvisory, -}; -use crate::repository::composite_repository::CompositeRepository; -use crate::repository::installed_repository::InstalledRepository; -use crate::repository::installed_repository_interface::InstalledRepositoryInterface; -use crate::repository::lock_array_repository::LockArrayRepository; -use crate::repository::platform_repository::PlatformRepository; -use crate::repository::repository_interface::{FindPackageConstraint, RepositoryInterface}; +use crate::advisory::PartialSecurityAdvisory; +use crate::advisory::SecurityAdvisory; +use crate::dependency_resolver::Pool; +use crate::dependency_resolver::PoolBuilder; +use crate::dependency_resolver::PoolOptimizer; +use crate::dependency_resolver::Request; +use crate::dependency_resolver::SecurityAdvisoryPoolFilter; +use crate::downloader::TransportException; +use crate::event_dispatcher::EventDispatcher; +use crate::io::IOInterface; +use crate::io::NullIO; +use crate::package::AliasPackage; +use crate::package::BasePackage; +use crate::package::CompleteAliasPackage; +use crate::package::CompletePackage; +use crate::package::PackageInterface; +use crate::package::version::StabilityFilter; +use crate::repository::CompositeRepository; +use crate::repository::InstalledRepository; +use crate::repository::InstalledRepositoryInterface; +use crate::repository::LockArrayRepository; +use crate::repository::PlatformRepository; +use crate::repository::{AdvisoryProviderInterface, PartialOrSecurityAdvisory}; +use crate::repository::{FindPackageConstraint, RepositoryInterface}; #[derive(Debug, Clone)] pub struct RootAliasEntry { @@ -124,7 +122,7 @@ impl RepositorySet { let mut acceptable_stabilities: IndexMap<String, i64> = IndexMap::new(); // PHP: foreach (BasePackage::STABILITIES as $stability => $value) - let stabilities = crate::package::base_package::STABILITIES.clone(); + let stabilities = crate::package::STABILITIES.clone(); let min_value = *stabilities.get(minimum_stability).unwrap_or(&0); for (stability, value) in stabilities.iter() { if *value <= min_value { @@ -233,7 +231,7 @@ impl RepositorySet { name_map.insert(name.to_string(), constraint.as_ref().map(|c| c.clone_box())); let acceptable = if ignore_stability { // PHP: BasePackage::STABILITIES - crate::package::base_package::STABILITIES + crate::package::STABILITIES .iter() .map(|(k, v)| (k.to_string(), *v)) .collect() @@ -252,7 +250,7 @@ impl RepositorySet { IndexMap::new(), ); - packages.push(result.packages); + packages.push(result.packages.into_values().collect()); for name_found in result.names_found { // avoid loading the same package again from other repositories once it has been found if name == name_found { @@ -419,9 +417,8 @@ impl RepositorySet { pub fn get_providers( &self, package_name: &str, - ) -> IndexMap<String, crate::repository::repository_interface::ProviderInfo> { - let mut providers: IndexMap<String, crate::repository::repository_interface::ProviderInfo> = - IndexMap::new(); + ) -> IndexMap<String, crate::repository::ProviderInfo> { + let mut providers: IndexMap<String, crate::repository::ProviderInfo> = IndexMap::new(); for repository in &self.repositories { let repo_providers = repository.get_providers(package_name.to_string()); if !repo_providers.is_empty() { diff --git a/crates/shirabe/src/repository/repository_utils.rs b/crates/shirabe/src/repository/repository_utils.rs index 0f4f6a8..7fe98b0 100644 --- a/crates/shirabe/src/repository/repository_utils.rs +++ b/crates/shirabe/src/repository/repository_utils.rs @@ -1,10 +1,10 @@ //! ref: composer/src/Composer/Repository/RepositoryUtils.php -use crate::package::link::Link; -use crate::package::package_interface::PackageInterface; -use crate::repository::composite_repository::CompositeRepository; -use crate::repository::filter_repository::FilterRepository; -use crate::repository::repository_interface::RepositoryInterface; +use crate::package::Link; +use crate::package::PackageInterface; +use crate::repository::CompositeRepository; +use crate::repository::FilterRepository; +use crate::repository::RepositoryInterface; use indexmap::IndexMap; use std::any::Any; @@ -12,11 +12,11 @@ pub struct RepositoryUtils; impl RepositoryUtils { pub fn filter_required_packages( - packages: &[Box<dyn crate::package::base_package::BasePackage>], + packages: &[Box<dyn crate::package::BasePackage>], requirer: &dyn PackageInterface, include_require_dev: bool, - mut bucket: Vec<Box<dyn crate::package::base_package::BasePackage>>, - ) -> Vec<Box<dyn crate::package::base_package::BasePackage>> { + mut bucket: Vec<Box<dyn crate::package::BasePackage>>, + ) -> Vec<Box<dyn crate::package::BasePackage>> { let mut requires: IndexMap<String, Link> = requirer.get_requires(); if include_require_dev { requires.extend(requirer.get_dev_requires()); @@ -27,10 +27,8 @@ impl RepositoryUtils { if requires.contains_key(&name) { let already_in_bucket = bucket.iter().any(|b| { std::ptr::eq( - b.as_ref() as *const dyn crate::package::base_package::BasePackage - as *const (), - candidate.as_ref() - as *const dyn crate::package::base_package::BasePackage + b.as_ref() as *const dyn crate::package::BasePackage as *const (), + candidate.as_ref() as *const dyn crate::package::BasePackage as *const (), ) }); diff --git a/crates/shirabe/src/repository/root_package_repository.rs b/crates/shirabe/src/repository/root_package_repository.rs index 56131f1..6213291 100644 --- a/crates/shirabe/src/repository/root_package_repository.rs +++ b/crates/shirabe/src/repository/root_package_repository.rs @@ -1,10 +1,10 @@ //! ref: composer/src/Composer/Repository/RootPackageRepository.php -use crate::package::base_package::BasePackage; -use crate::package::package_interface::PackageInterface; -use crate::package::root_package_interface::RootPackageInterface; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::repository_interface::{ProviderInfo, RepositoryInterface, SearchResult}; +use crate::package::BasePackage; +use crate::package::PackageInterface; +use crate::package::RootPackageInterface; +use crate::repository::ArrayRepository; +use crate::repository::{ProviderInfo, RepositoryInterface, SearchResult}; use indexmap::IndexMap; #[derive(Debug)] @@ -42,7 +42,7 @@ impl RepositoryInterface for RootPackageRepository { fn find_package( &self, name: &str, - constraint: crate::repository::repository_interface::FindPackageConstraint, + constraint: crate::repository::FindPackageConstraint, ) -> Option<Box<dyn BasePackage>> { self.inner.find_package(name, constraint) } @@ -50,7 +50,7 @@ impl RepositoryInterface for RootPackageRepository { fn find_packages( &self, name: &str, - constraint: Option<crate::repository::repository_interface::FindPackageConstraint>, + constraint: Option<crate::repository::FindPackageConstraint>, ) -> Vec<Box<dyn BasePackage>> { self.inner.find_packages(name, constraint) } @@ -63,12 +63,12 @@ impl RepositoryInterface for RootPackageRepository { &self, package_name_map: IndexMap< String, - Option<Box<dyn shirabe_semver::constraint::constraint_interface::ConstraintInterface>>, + Option<Box<dyn shirabe_semver::constraint::ConstraintInterface>>, >, acceptable_stabilities: IndexMap<String, i64>, stability_flags: IndexMap<String, i64>, already_loaded: IndexMap<String, IndexMap<String, Box<dyn PackageInterface>>>, - ) -> crate::repository::repository_interface::LoadPackagesResult { + ) -> crate::repository::LoadPackagesResult { self.inner.load_packages( package_name_map, acceptable_stabilities, diff --git a/crates/shirabe/src/repository/vcs/forgejo_driver.rs b/crates/shirabe/src/repository/vcs/forgejo_driver.rs index f4a86c7..18df35d 100644 --- a/crates/shirabe/src/repository/vcs/forgejo_driver.rs +++ b/crates/shirabe/src/repository/vcs/forgejo_driver.rs @@ -3,23 +3,23 @@ use crate::io::io_interface; use anyhow::Result; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ PhpMixed, RuntimeException, base64_decode, explode, extension_loaded, urlencode, }; use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::vcs::git_driver::GitDriver; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::repository::vcs::vcs_driver_interface::VcsDriverInterface; -use crate::util::forgejo::Forgejo; -use crate::util::forgejo_repository_data::ForgejoRepositoryData; -use crate::util::forgejo_url::ForgejoUrl; -use crate::util::http::response::Response; +use crate::downloader::TransportException; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::vcs::GitDriver; +use crate::repository::vcs::VcsDriverBase; +use crate::repository::vcs::VcsDriverInterface; +use crate::util::Forgejo; +use crate::util::ForgejoRepositoryData; +use crate::util::ForgejoUrl; +use crate::util::http::Response; #[derive(Debug)] pub struct ForgejoDriver { diff --git a/crates/shirabe/src/repository/vcs/fossil_driver.rs b/crates/shirabe/src/repository/vcs/fossil_driver.rs index f773e3b..4982d17 100644 --- a/crates/shirabe/src/repository/vcs/fossil_driver.rs +++ b/crates/shirabe/src/repository/vcs/fossil_driver.rs @@ -3,15 +3,15 @@ use crate::io::io_interface; use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{PhpMixed, RuntimeException, dirname, is_dir, is_file, is_writable}; use crate::cache::Cache; use crate::config::Config; -use crate::io::io_interface::IOInterface; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::util::filesystem::Filesystem; -use crate::util::process_executor::ProcessExecutor; +use crate::io::IOInterface; +use crate::repository::vcs::VcsDriverBase; +use crate::util::Filesystem; +use crate::util::ProcessExecutor; #[derive(Debug)] pub struct FossilDriver { diff --git a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs index a5c6ed3..1cb7b46 100644 --- a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs +++ b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs @@ -4,7 +4,7 @@ use crate::io::io_interface; use anyhow::Result; use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ InvalidArgumentException, LogicException, PhpMixed, RuntimeException, array_key_exists, array_search_mixed, extension_loaded, http_build_query_mixed, implode, in_array, is_array, @@ -13,14 +13,14 @@ use shirabe_php_shim::{ use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::vcs::git_driver::GitDriver; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::repository::vcs::vcs_driver_interface::VcsDriverInterface; -use crate::util::bitbucket::Bitbucket; -use crate::util::http::response::Response; +use crate::downloader::TransportException; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::vcs::GitDriver; +use crate::repository::vcs::VcsDriverBase; +use crate::repository::vcs::VcsDriverInterface; +use crate::util::Bitbucket; +use crate::util::http::Response; #[derive(Debug)] pub struct GitBitbucketDriver { diff --git a/crates/shirabe/src/repository/vcs/git_driver.rs b/crates/shirabe/src/repository/vcs/git_driver.rs index 7ab185f..8c0aefd 100644 --- a/crates/shirabe/src/repository/vcs/git_driver.rs +++ b/crates/shirabe/src/repository/vcs/git_driver.rs @@ -4,7 +4,7 @@ use crate::io::io_interface; use chrono::TimeZone; use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ InvalidArgumentException, RuntimeException, dirname, is_dir, is_writable, realpath, sys_get_temp_dir, @@ -12,12 +12,12 @@ use shirabe_php_shim::{ use crate::cache::Cache; use crate::config::Config; -use crate::io::io_interface::IOInterface; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::util::filesystem::Filesystem; -use crate::util::git::Git as GitUtil; -use crate::util::process_executor::ProcessExecutor; -use crate::util::url::Url; +use crate::io::IOInterface; +use crate::repository::vcs::VcsDriverBase; +use crate::util::Filesystem; +use crate::util::Git as GitUtil; +use crate::util::ProcessExecutor; +use crate::util::Url; #[derive(Debug)] pub struct GitDriver { @@ -33,9 +33,7 @@ impl GitDriver { repo_config: IndexMap<String, shirabe_php_shim::PhpMixed>, io: Box<dyn IOInterface>, config: std::rc::Rc<std::cell::RefCell<Config>>, - http_downloader: std::rc::Rc< - std::cell::RefCell<crate::util::http_downloader::HttpDownloader>, - >, + http_downloader: std::rc::Rc<std::cell::RefCell<crate::util::HttpDownloader>>, process: std::rc::Rc<std::cell::RefCell<ProcessExecutor>>, ) -> Self { Self { @@ -481,7 +479,7 @@ impl GitDriver { // TODO(phase-b): implement VcsDriverInterface for GitDriver — signatures here // differ from the trait (some &mut self vs &self, different return shapes), so // each method delegates via todo!() until reconciled. -impl crate::repository::vcs::vcs_driver_interface::VcsDriverInterface for GitDriver { +impl crate::repository::vcs::VcsDriverInterface for GitDriver { fn initialize(&mut self) -> anyhow::Result<()> { GitDriver::initialize(self) } diff --git a/crates/shirabe/src/repository/vcs/github_driver.rs b/crates/shirabe/src/repository/vcs/github_driver.rs index 17463c1..c2207ee 100644 --- a/crates/shirabe/src/repository/vcs/github_driver.rs +++ b/crates/shirabe/src/repository/vcs/github_driver.rs @@ -4,7 +4,7 @@ use crate::io::io_interface; use anyhow::Result; use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ InvalidArgumentException, PhpMixed, RuntimeException, array_diff, array_key_exists, array_map, array_search_mixed, base64_decode, basename, count, empty, explode, extension_loaded, in_array, @@ -13,14 +13,14 @@ use shirabe_php_shim::{ use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::vcs::git_driver::GitDriver; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::repository::vcs::vcs_driver_interface::VcsDriverInterface; -use crate::util::github::GitHub; -use crate::util::http::response::Response; +use crate::downloader::TransportException; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::vcs::GitDriver; +use crate::repository::vcs::VcsDriverBase; +use crate::repository::vcs::VcsDriverInterface; +use crate::util::GitHub; +use crate::util::http::Response; #[derive(Debug)] pub struct GitHubDriver { diff --git a/crates/shirabe/src/repository/vcs/gitlab_driver.rs b/crates/shirabe/src/repository/vcs/gitlab_driver.rs index 3efb38c..1966237 100644 --- a/crates/shirabe/src/repository/vcs/gitlab_driver.rs +++ b/crates/shirabe/src/repository/vcs/gitlab_driver.rs @@ -4,7 +4,7 @@ use crate::io::io_interface; use anyhow::Result; use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ InvalidArgumentException, LogicException, PhpMixed, RuntimeException, array_search_mixed, array_shift, ctype_alnum, empty, explode, extension_loaded, implode, in_array, is_array, @@ -13,15 +13,15 @@ use shirabe_php_shim::{ use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::vcs::git_driver::GitDriver; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::repository::vcs::vcs_driver_interface::VcsDriverInterface; -use crate::util::gitlab::GitLab; -use crate::util::http::response::Response; -use crate::util::http_downloader::HttpDownloader; +use crate::downloader::TransportException; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::vcs::GitDriver; +use crate::repository::vcs::VcsDriverBase; +use crate::repository::vcs::VcsDriverInterface; +use crate::util::GitLab; +use crate::util::HttpDownloader; +use crate::util::http::Response; /// Driver for GitLab API, use the Git driver for local checkouts. #[derive(Debug)] diff --git a/crates/shirabe/src/repository/vcs/hg_driver.rs b/crates/shirabe/src/repository/vcs/hg_driver.rs index eb1be8f..8f40d2a 100644 --- a/crates/shirabe/src/repository/vcs/hg_driver.rs +++ b/crates/shirabe/src/repository/vcs/hg_driver.rs @@ -2,15 +2,15 @@ use crate::cache::Cache; use crate::config::Config; +use crate::io::IOInterface; use crate::io::io_interface; -use crate::io::io_interface::IOInterface; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::util::filesystem::Filesystem; -use crate::util::hg::Hg as HgUtils; -use crate::util::url::Url; +use crate::repository::vcs::VcsDriverBase; +use crate::util::Filesystem; +use crate::util::Hg as HgUtils; +use crate::util::Url; use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{RuntimeException, dirname, is_dir, is_writable}; #[derive(Debug)] @@ -84,7 +84,7 @@ impl HgDriver { Some(self.repo_dir.clone()), ) != 0 { - self.inner.io.write_error3(&format!("<error>Failed to update {}, package information from this repository may be outdated ({})</error>", self.inner.url, self.inner.process.borrow().get_error_output()), true, crate::io::io_interface::NORMAL); + self.inner.io.write_error3(&format!("<error>Failed to update {}, package information from this repository may be outdated ({})</error>", self.inner.url, self.inner.process.borrow().get_error_output()), true, crate::io::NORMAL); } } else { let mut fs2 = Filesystem::new(None); @@ -324,7 +324,7 @@ impl HgDriver { return false; } - let mut process = crate::util::process_executor::ProcessExecutor::new(io); + let mut process = crate::util::ProcessExecutor::new(io); let mut output = String::new(); if process.execute_args( &["hg", "summary"].map(|s| s.to_string()).to_vec(), @@ -340,7 +340,7 @@ impl HgDriver { return false; } - let mut process = crate::util::process_executor::ProcessExecutor::new(io); + let mut process = crate::util::ProcessExecutor::new(io); let mut ignored = String::new(); let exit = process.execute_args( &["hg", "identify", "--", url] diff --git a/crates/shirabe/src/repository/vcs/mod.rs b/crates/shirabe/src/repository/vcs/mod.rs index 4bbf4a6..715d2e5 100644 --- a/crates/shirabe/src/repository/vcs/mod.rs +++ b/crates/shirabe/src/repository/vcs/mod.rs @@ -9,3 +9,15 @@ pub mod perforce_driver; pub mod svn_driver; pub mod vcs_driver; pub mod vcs_driver_interface; + +pub use forgejo_driver::*; +pub use fossil_driver::*; +pub use git_bitbucket_driver::*; +pub use git_driver::*; +pub use github_driver::*; +pub use gitlab_driver::*; +pub use hg_driver::*; +pub use perforce_driver::*; +pub use svn_driver::*; +pub use vcs_driver::*; +pub use vcs_driver_interface::*; diff --git a/crates/shirabe/src/repository/vcs/perforce_driver.rs b/crates/shirabe/src/repository/vcs/perforce_driver.rs index a5b0d02..0bd6d12 100644 --- a/crates/shirabe/src/repository/vcs/perforce_driver.rs +++ b/crates/shirabe/src/repository/vcs/perforce_driver.rs @@ -1,16 +1,16 @@ //! ref: composer/src/Composer/Repository/Vcs/PerforceDriver.php use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{BadMethodCallException, PhpMixed, RuntimeException}; use crate::cache::Cache; use crate::config::Config; -use crate::io::io_interface::IOInterface; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::util::http::response::Response; -use crate::util::perforce::Perforce; -use crate::util::process_executor::ProcessExecutor; +use crate::io::IOInterface; +use crate::repository::vcs::VcsDriverBase; +use crate::util::Perforce; +use crate::util::ProcessExecutor; +use crate::util::http::Response; #[derive(Debug)] pub struct PerforceDriver { diff --git a/crates/shirabe/src/repository/vcs/svn_driver.rs b/crates/shirabe/src/repository/vcs/svn_driver.rs index 27fccc3..a6ca9c1 100644 --- a/crates/shirabe/src/repository/vcs/svn_driver.rs +++ b/crates/shirabe/src/repository/vcs/svn_driver.rs @@ -3,7 +3,7 @@ use anyhow::Result; use chrono::{DateTime, TimeZone, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg}; +use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, PhpMixed, RuntimeException, array_key_exists, is_array, max, sprintf, stripos, strrpos, strtr, substr, trim, @@ -11,14 +11,14 @@ use shirabe_php_shim::{ use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::vcs::vcs_driver::VcsDriverBase; -use crate::util::filesystem::Filesystem; -use crate::util::process_executor::ProcessExecutor; -use crate::util::svn::Svn as SvnUtil; -use crate::util::url::Url; +use crate::downloader::TransportException; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::vcs::VcsDriverBase; +use crate::util::Filesystem; +use crate::util::ProcessExecutor; +use crate::util::Svn as SvnUtil; +use crate::util::Url; #[derive(Debug)] pub struct SvnDriver { diff --git a/crates/shirabe/src/repository/vcs/vcs_driver.rs b/crates/shirabe/src/repository/vcs/vcs_driver.rs index 45c998b..71476b9 100644 --- a/crates/shirabe/src/repository/vcs/vcs_driver.rs +++ b/crates/shirabe/src/repository/vcs/vcs_driver.rs @@ -2,21 +2,21 @@ use chrono::{DateTime, Utc}; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, PhpMixed, extension_loaded, }; use crate::cache::Cache; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::io::io_interface::IOInterface; -use crate::json::json_file::JsonFile; -use crate::repository::vcs::vcs_driver_interface::VcsDriverInterface; -use crate::util::filesystem::Filesystem; -use crate::util::http::response::Response; -use crate::util::http_downloader::HttpDownloader; -use crate::util::process_executor::ProcessExecutor; +use crate::downloader::TransportException; +use crate::io::IOInterface; +use crate::json::JsonFile; +use crate::repository::vcs::VcsDriverInterface; +use crate::util::Filesystem; +use crate::util::HttpDownloader; +use crate::util::ProcessExecutor; +use crate::util::http::Response; #[derive(Debug)] pub struct VcsDriverBase { diff --git a/crates/shirabe/src/repository/vcs/vcs_driver_interface.rs b/crates/shirabe/src/repository/vcs/vcs_driver_interface.rs index 236b9b4..7ace36a 100644 --- a/crates/shirabe/src/repository/vcs/vcs_driver_interface.rs +++ b/crates/shirabe/src/repository/vcs/vcs_driver_interface.rs @@ -1,7 +1,7 @@ //! ref: composer/src/Composer/Repository/Vcs/VcsDriverInterface.php use crate::config::Config; -use crate::io::io_interface::IOInterface; +use crate::io::IOInterface; use chrono::{DateTime, Utc}; use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; diff --git a/crates/shirabe/src/repository/vcs_repository.rs b/crates/shirabe/src/repository/vcs_repository.rs index 3a33c85..05dd329 100644 --- a/crates/shirabe/src/repository/vcs_repository.rs +++ b/crates/shirabe/src/repository/vcs_repository.rs @@ -3,33 +3,33 @@ use crate::io::io_interface; use anyhow::Result; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::preg::Preg; +use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ InvalidArgumentException, PhpMixed, array_search_mixed, count, get_class, in_array, str_replace, strpos, }; -use shirabe_semver::constraint::constraint::Constraint; +use shirabe_semver::constraint::Constraint; use crate::config::Config; -use crate::downloader::transport_exception::TransportException; -use crate::event_dispatcher::event_dispatcher::EventDispatcher; -use crate::io::io_interface::IOInterface; -use crate::package::base_package::BasePackage; -use crate::package::loader::array_loader::ArrayLoader; -use crate::package::loader::invalid_package_exception::InvalidPackageException; -use crate::package::loader::loader_interface::LoaderInterface; -use crate::package::loader::validating_array_loader::ValidatingArrayLoader; -use crate::package::version::version_parser::VersionParser; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::configurable_repository_interface::ConfigurableRepositoryInterface; -use crate::repository::invalid_repository_exception::InvalidRepositoryException; -use crate::repository::repository_interface::RepositoryInterface; -use crate::repository::vcs::vcs_driver_interface::VcsDriverInterface; -use crate::repository::version_cache_interface::{VersionCacheInterface, VersionCacheResult}; -use crate::util::http_downloader::HttpDownloader; -use crate::util::platform::Platform; -use crate::util::process_executor::ProcessExecutor; -use crate::util::url::Url; +use crate::downloader::TransportException; +use crate::event_dispatcher::EventDispatcher; +use crate::io::IOInterface; +use crate::package::BasePackage; +use crate::package::loader::ArrayLoader; +use crate::package::loader::InvalidPackageException; +use crate::package::loader::LoaderInterface; +use crate::package::loader::ValidatingArrayLoader; +use crate::package::version::VersionParser; +use crate::repository::ArrayRepository; +use crate::repository::ConfigurableRepositoryInterface; +use crate::repository::InvalidRepositoryException; +use crate::repository::RepositoryInterface; +use crate::repository::vcs::VcsDriverInterface; +use crate::repository::{VersionCacheInterface, VersionCacheResult}; +use crate::util::HttpDownloader; +use crate::util::Platform; +use crate::util::ProcessExecutor; +use crate::util::Url; #[derive(Debug)] pub struct VcsRepository { @@ -387,8 +387,7 @@ impl VcsRepository { match cached_package { CachedPackageResult::Package(pkg) => { // TODO(phase-b): trait upcast Box<dyn BasePackage> -> Box<dyn PackageInterface> - let pkg_pi: Box<dyn crate::package::package_interface::PackageInterface> = - pkg.clone_package_box(); + let pkg_pi: Box<dyn crate::package::PackageInterface> = pkg.clone_package_box(); self.inner.add_package(pkg_pi)?; continue; } @@ -515,9 +514,9 @@ impl VcsRepository { }); if let Some(existing_package) = self.inner.find_package( &tag_package_name, - crate::repository::repository_interface::FindPackageConstraint::Constraint( - Box::new(Constraint::new("=", &version_normalized)), - ), + crate::repository::FindPackageConstraint::Constraint(Box::new( + Constraint::new("=", &version_normalized), + )), ) { if is_very_verbose { self.io.write_error(&format!( @@ -537,7 +536,7 @@ impl VcsRepository { let processed = self.pre_process(&**driver, data, &identifier)?; let loaded = self.loader.as_ref().unwrap().load(processed, None)?; // TODO(phase-b): trait upcast Box<dyn BasePackage> -> Box<dyn PackageInterface> - let loaded_pi: Box<dyn crate::package::package_interface::PackageInterface> = + let loaded_pi: Box<dyn crate::package::PackageInterface> = loaded.clone_package_box(); self.inner.add_package(loaded_pi)?; Ok(()) @@ -658,8 +657,7 @@ impl VcsRepository { match cached_package { CachedPackageResult::Package(pkg) => { // TODO(phase-b): trait upcast Box<dyn BasePackage> -> Box<dyn PackageInterface> - let pkg_pi: Box<dyn crate::package::package_interface::PackageInterface> = - pkg.clone_package_box(); + let pkg_pi: Box<dyn crate::package::PackageInterface> = pkg.clone_package_box(); self.inner.add_package(pkg_pi)?; continue; } @@ -724,7 +722,7 @@ impl VcsRepository { } } // TODO(phase-b): trait upcast Box<dyn BasePackage> -> Box<dyn PackageInterface> - let package_pi: Box<dyn crate::package::package_interface::PackageInterface> = + let package_pi: Box<dyn crate::package::PackageInterface> = package.clone_package_box(); self.inner.add_package(package_pi)?; Ok(()) @@ -951,9 +949,10 @@ impl VcsRepository { .to_string(); if let Some(existing_package) = self.inner.find_package( &name, - crate::repository::repository_interface::FindPackageConstraint::Constraint( - Box::new(Constraint::new("=", &version_normalized)), - ), + crate::repository::FindPackageConstraint::Constraint(Box::new(Constraint::new( + "=", + &version_normalized, + ))), ) { if is_very_verbose { self.io.write_error(&format!( diff --git a/crates/shirabe/src/repository/writable_array_repository.rs b/crates/shirabe/src/repository/writable_array_repository.rs index 05c6bfa..663ab52 100644 --- a/crates/shirabe/src/repository/writable_array_repository.rs +++ b/crates/shirabe/src/repository/writable_array_repository.rs @@ -1,8 +1,8 @@ //! ref: composer/src/Composer/Repository/WritableArrayRepository.php -use crate::installer::installation_manager::InstallationManager; -use crate::repository::array_repository::ArrayRepository; -use crate::repository::repository_interface::RepositoryInterface; +use crate::installer::InstallationManager; +use crate::repository::ArrayRepository; +use crate::repository::RepositoryInterface; use anyhow::Result; use shirabe_php_shim::Countable; @@ -14,9 +14,7 @@ pub struct WritableArrayRepository { } impl WritableArrayRepository { - pub fn new( - packages: Vec<Box<dyn crate::package::package_interface::PackageInterface>>, - ) -> Result<Self> { + pub fn new(packages: Vec<Box<dyn crate::package::PackageInterface>>) -> Result<Self> { Ok(Self { inner: ArrayRepository::new(packages)?, dev_package_names: Vec::new(), @@ -52,15 +50,12 @@ impl WritableArrayRepository { pub fn add_package( &mut self, - package: Box<dyn crate::package::package_interface::PackageInterface>, + package: Box<dyn crate::package::PackageInterface>, ) -> Result<()> { self.inner.add_package(package) } - pub fn remove_package( - &mut self, - package: &dyn crate::package::package_interface::PackageInterface, - ) -> Result<()> { + pub fn remove_package(&mut self, package: &dyn crate::package::PackageInterface) -> Result<()> { let _ = package; // TODO(phase-b): delegate to ArrayRepository once it implements remove_package Ok(()) @@ -71,16 +66,12 @@ impl WritableArrayRepository { Ok(()) } - pub fn get_canonical_packages( - &self, - ) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + pub fn get_canonical_packages(&self) -> Vec<Box<dyn crate::package::PackageInterface>> { // TODO(phase-b): delegate to inner once it exposes get_canonical_packages Vec::new() } - pub fn get_packages( - &self, - ) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + pub fn get_packages(&self) -> Vec<Box<dyn crate::package::PackageInterface>> { // TODO(phase-b): delegate to inner ArrayRepository::get_packages Vec::new() } diff --git a/crates/shirabe/src/repository/writable_repository_interface.rs b/crates/shirabe/src/repository/writable_repository_interface.rs index 5648ef5..7094211 100644 --- a/crates/shirabe/src/repository/writable_repository_interface.rs +++ b/crates/shirabe/src/repository/writable_repository_interface.rs @@ -1,8 +1,8 @@ //! ref: composer/src/Composer/Repository/WritableRepositoryInterface.php -use crate::installer::installation_manager::InstallationManager; -use crate::package::package_interface::PackageInterface; -use crate::repository::repository_interface::RepositoryInterface; +use crate::installer::InstallationManager; +use crate::package::PackageInterface; +use crate::repository::RepositoryInterface; use anyhow::Result; pub trait WritableRepositoryInterface: RepositoryInterface { |
