diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/shirabe/src/command/init_command.rs | 50 | ||||
| -rw-r--r-- | crates/shirabe/src/command/require_command.rs | 48 | ||||
| -rw-r--r-- | crates/shirabe/src/io/null_io.rs | 39 | ||||
| -rw-r--r-- | crates/shirabe/src/package/complete_package.rs | 220 | ||||
| -rw-r--r-- | crates/shirabe/src/package/root_alias_package.rs | 103 | ||||
| -rw-r--r-- | crates/shirabe/src/package/root_package.rs | 139 | ||||
| -rw-r--r-- | crates/shirabe/src/repository/composite_repository.rs | 4 | ||||
| -rw-r--r-- | crates/shirabe/src/repository/installed_array_repository.rs | 43 | ||||
| -rw-r--r-- | crates/shirabe/src/repository/installed_filesystem_repository.rs | 43 | ||||
| -rw-r--r-- | crates/shirabe/src/repository/lock_array_repository.rs | 6 | ||||
| -rw-r--r-- | crates/shirabe/src/repository/vcs_repository.rs | 6 |
11 files changed, 695 insertions, 6 deletions
diff --git a/crates/shirabe/src/command/init_command.rs b/crates/shirabe/src/command/init_command.rs index b43fdea..3148d20 100644 --- a/crates/shirabe/src/command/init_command.rs +++ b/crates/shirabe/src/command/init_command.rs @@ -45,8 +45,54 @@ pub struct InitCommand { git_config: Option<IndexMap<String, String>>, } -impl CompletionTrait for InitCommand {} -impl PackageDiscoveryTrait for InitCommand {} +impl CompletionTrait for InitCommand { + fn require_composer( + &self, + disable_plugins: Option<bool>, + disable_scripts: Option<bool>, + ) -> Composer { + todo!() + } +} + +impl PackageDiscoveryTrait for InitCommand { + fn get_repos_mut(&mut self) -> &mut Option<CompositeRepository> { + todo!() + } + + fn get_repository_sets_mut( + &mut self, + ) -> &mut IndexMap<String, crate::repository::repository_set::RepositorySet> { + todo!() + } + + fn get_io(&self) -> &dyn IOInterface { + todo!() + } + + fn try_composer(&self) -> Option<Composer> { + todo!() + } + + fn require_composer( + &self, + disable_plugins: Option<bool>, + disable_scripts: Option<bool>, + ) -> Composer { + todo!() + } + + fn get_platform_requirement_filter( + &self, + input: &dyn InputInterface, + ) -> Box<dyn crate::filter::platform_requirement_filter::platform_requirement_filter_interface::PlatformRequirementFilterInterface>{ + todo!() + } + + fn normalize_requirements(&self, requires: Vec<String>) -> Vec<IndexMap<String, String>> { + todo!() + } +} impl InitCommand { pub fn configure(&mut self) { diff --git a/crates/shirabe/src/command/require_command.rs b/crates/shirabe/src/command/require_command.rs index 70c3651..003673d 100644 --- a/crates/shirabe/src/command/require_command.rs +++ b/crates/shirabe/src/command/require_command.rs @@ -64,8 +64,52 @@ pub struct RequireCommand { dependency_resolution_completed: bool, } -impl CompletionTrait for RequireCommand {} -impl PackageDiscoveryTrait for RequireCommand {} +impl CompletionTrait for RequireCommand { + fn require_composer( + &self, + disable_plugins: Option<bool>, + disable_scripts: Option<bool>, + ) -> Composer { + todo!() + } +} + +impl PackageDiscoveryTrait for RequireCommand { + fn get_repos_mut(&mut self) -> &mut Option<CompositeRepository> { + todo!() + } + + fn get_repository_sets_mut(&mut self) -> &mut IndexMap<String, RepositorySet> { + todo!() + } + + fn get_io(&self) -> &dyn IOInterface { + todo!() + } + + fn try_composer(&self) -> Option<Composer> { + todo!() + } + + fn require_composer( + &self, + disable_plugins: Option<bool>, + disable_scripts: Option<bool>, + ) -> Composer { + todo!() + } + + fn get_platform_requirement_filter( + &self, + input: &dyn InputInterface, + ) -> Box<dyn crate::filter::platform_requirement_filter::platform_requirement_filter_interface::PlatformRequirementFilterInterface>{ + todo!() + } + + fn normalize_requirements(&self, requires: Vec<String>) -> Vec<IndexMap<String, String>> { + todo!() + } +} impl RequireCommand { pub fn configure(&mut self) { diff --git a/crates/shirabe/src/io/null_io.rs b/crates/shirabe/src/io/null_io.rs index 10d56a1..0399bcb 100644 --- a/crates/shirabe/src/io/null_io.rs +++ b/crates/shirabe/src/io/null_io.rs @@ -2,6 +2,7 @@ use crate::io::base_io::BaseIO; use crate::io::io_interface::IOInterface; +use shirabe_external_packages::psr::log::logger_interface::LoggerInterface; use shirabe_php_shim::PhpMixed; #[derive(Debug)] @@ -131,3 +132,41 @@ impl BaseIO for NullIO { &mut self.authentications } } + +impl LoggerInterface for NullIO { + fn emergency(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn alert(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn critical(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn error(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn warning(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn notice(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn info(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn debug(&self, message: &str, context: &[(&str, &str)]) { + todo!() + } + + fn log(&self, level: &str, message: &str, context: &[(&str, &str)]) { + todo!() + } +} diff --git a/crates/shirabe/src/package/complete_package.rs b/crates/shirabe/src/package/complete_package.rs index ec2a42a..c76be49 100644 --- a/crates/shirabe/src/package/complete_package.rs +++ b/crates/shirabe/src/package/complete_package.rs @@ -2,6 +2,7 @@ use crate::package::complete_package_interface::CompletePackageInterface; use crate::package::package::Package; +use crate::package::package_interface::PackageInterface; use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; @@ -130,3 +131,222 @@ impl CompletePackageInterface for CompletePackage { self.archive_excludes.clone() } } + +impl PackageInterface for CompletePackage { + fn get_name(&self) -> &str { + todo!() + } + + fn get_pretty_name(&self) -> &str { + todo!() + } + + fn get_names(&self, provides: bool) -> Vec<String> { + todo!() + } + + fn set_id(&mut self, id: i64) { + todo!() + } + + fn get_id(&self) -> i64 { + todo!() + } + + fn is_dev(&self) -> bool { + todo!() + } + + fn get_type(&self) -> &str { + todo!() + } + + fn get_target_dir(&self) -> Option<&str> { + todo!() + } + + fn get_extra(&self) -> IndexMap<String, PhpMixed> { + todo!() + } + + fn set_installation_source(&mut self, r#type: Option<String>) { + todo!() + } + + fn get_installation_source(&self) -> Option<&str> { + todo!() + } + + fn get_source_type(&self) -> Option<&str> { + todo!() + } + + fn get_source_url(&self) -> Option<&str> { + todo!() + } + + fn get_source_urls(&self) -> Vec<String> { + todo!() + } + + fn get_source_reference(&self) -> Option<&str> { + todo!() + } + + fn get_source_mirrors(&self) -> Option<Vec<IndexMap<String, PhpMixed>>> { + todo!() + } + + fn set_source_mirrors(&mut self, mirrors: Option<Vec<IndexMap<String, PhpMixed>>>) { + todo!() + } + + fn get_dist_type(&self) -> Option<&str> { + todo!() + } + + fn get_dist_url(&self) -> Option<&str> { + todo!() + } + + fn get_dist_urls(&self) -> Vec<String> { + todo!() + } + + fn get_dist_reference(&self) -> Option<&str> { + todo!() + } + + fn get_dist_sha1_checksum(&self) -> Option<&str> { + todo!() + } + + fn get_dist_mirrors(&self) -> Option<Vec<IndexMap<String, PhpMixed>>> { + todo!() + } + + fn set_dist_mirrors(&mut self, mirrors: Option<Vec<IndexMap<String, PhpMixed>>>) { + todo!() + } + + fn get_version(&self) -> &str { + todo!() + } + + fn get_pretty_version(&self) -> &str { + todo!() + } + + fn get_full_pretty_version(&self, truncate: bool, display_mode: i64) -> String { + todo!() + } + + fn get_release_date(&self) -> Option<chrono::DateTime<chrono::Utc>> { + todo!() + } + + fn get_stability(&self) -> &str { + todo!() + } + + fn get_requires(&self) -> IndexMap<String, super::link::Link> { + todo!() + } + + fn get_conflicts(&self) -> Vec<super::link::Link> { + todo!() + } + + fn get_provides(&self) -> Vec<super::link::Link> { + todo!() + } + + fn get_replaces(&self) -> Vec<super::link::Link> { + todo!() + } + + fn get_dev_requires(&self) -> IndexMap<String, super::link::Link> { + todo!() + } + + fn get_suggests(&self) -> IndexMap<String, String> { + todo!() + } + + fn get_autoload(&self) -> IndexMap<String, PhpMixed> { + todo!() + } + + fn get_dev_autoload(&self) -> IndexMap<String, PhpMixed> { + todo!() + } + + fn get_include_paths(&self) -> Vec<String> { + todo!() + } + + fn get_php_ext(&self) -> Option<IndexMap<String, PhpMixed>> { + todo!() + } + + fn set_repository( + &mut self, + repository: Box<dyn crate::repository::repository_interface::RepositoryInterface>, + ) -> anyhow::Result<()> { + todo!() + } + + fn get_repository( + &self, + ) -> Option<&dyn crate::repository::repository_interface::RepositoryInterface> { + todo!() + } + + fn get_binaries(&self) -> Vec<String> { + todo!() + } + + fn get_unique_name(&self) -> String { + todo!() + } + + fn get_notification_url(&self) -> Option<&str> { + todo!() + } + + fn get_pretty_string(&self) -> String { + todo!() + } + + fn is_default_branch(&self) -> bool { + todo!() + } + + fn get_transport_options(&self) -> IndexMap<String, PhpMixed> { + todo!() + } + + fn set_transport_options(&mut self, options: IndexMap<String, PhpMixed>) { + todo!() + } + + fn set_source_reference(&mut self, reference: Option<String>) { + todo!() + } + + fn set_dist_url(&mut self, url: Option<String>) { + todo!() + } + + fn set_dist_type(&mut self, r#type: Option<String>) { + todo!() + } + + fn set_dist_reference(&mut self, reference: Option<String>) { + todo!() + } + + fn set_source_dist_references(&mut self, reference: &str) { + todo!() + } +} diff --git a/crates/shirabe/src/package/root_alias_package.rs b/crates/shirabe/src/package/root_alias_package.rs index 447f46a..cd5f745 100644 --- a/crates/shirabe/src/package/root_alias_package.rs +++ b/crates/shirabe/src/package/root_alias_package.rs @@ -4,6 +4,7 @@ use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; use crate::package::complete_alias_package::CompleteAliasPackage; +use crate::package::complete_package_interface::CompletePackageInterface; use crate::package::link::Link; use crate::package::root_package::RootPackage; use crate::package::root_package_interface::RootPackageInterface; @@ -117,3 +118,105 @@ impl RootPackageInterface for RootAliasPackage { self.alias_of.set_extra(extra); } } + +impl CompletePackageInterface for RootAliasPackage { + fn get_scripts(&self) -> IndexMap<String, Vec<String>> { + todo!() + } + + fn set_scripts(&mut self, scripts: IndexMap<String, Vec<String>>) { + todo!() + } + + fn get_repositories(&self) -> Vec<IndexMap<String, PhpMixed>> { + todo!() + } + + fn set_repositories(&mut self, repositories: Vec<IndexMap<String, PhpMixed>>) { + todo!() + } + + fn get_license(&self) -> Vec<String> { + todo!() + } + + fn set_license(&mut self, license: Vec<String>) { + todo!() + } + + fn get_keywords(&self) -> Vec<String> { + todo!() + } + + fn set_keywords(&mut self, keywords: Vec<String>) { + todo!() + } + + fn get_description(&self) -> Option<&str> { + todo!() + } + + fn set_description(&mut self, description: String) { + todo!() + } + + fn get_homepage(&self) -> Option<&str> { + todo!() + } + + fn set_homepage(&mut self, homepage: String) { + todo!() + } + + fn get_authors(&self) -> Vec<IndexMap<String, String>> { + todo!() + } + + fn set_authors(&mut self, authors: Vec<IndexMap<String, String>>) { + todo!() + } + + fn get_support(&self) -> IndexMap<String, String> { + todo!() + } + + fn set_support(&mut self, support: IndexMap<String, String>) { + todo!() + } + + fn get_funding(&self) -> Vec<IndexMap<String, PhpMixed>> { + todo!() + } + + fn set_funding(&mut self, funding: Vec<IndexMap<String, PhpMixed>>) { + todo!() + } + + fn is_abandoned(&self) -> bool { + todo!() + } + + fn get_replacement_package(&self) -> Option<&str> { + todo!() + } + + fn set_abandoned(&mut self, abandoned: PhpMixed) { + todo!() + } + + fn get_archive_name(&self) -> Option<&str> { + todo!() + } + + fn set_archive_name(&mut self, name: String) { + todo!() + } + + fn get_archive_excludes(&self) -> Vec<String> { + todo!() + } + + fn set_archive_excludes(&mut self, excludes: Vec<String>) { + todo!() + } +} diff --git a/crates/shirabe/src/package/root_package.rs b/crates/shirabe/src/package/root_package.rs index 846cd13..d0c96aa 100644 --- a/crates/shirabe/src/package/root_package.rs +++ b/crates/shirabe/src/package/root_package.rs @@ -1,6 +1,7 @@ //! ref: composer/src/Composer/Package/RootPackage.php use crate::package::complete_package::CompletePackage; +use crate::package::complete_package_interface::CompletePackageInterface; use crate::package::root_package_interface::RootPackageInterface; use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; @@ -68,4 +69,142 @@ impl RootPackageInterface for RootPackage { fn get_aliases(&self) -> &[IndexMap<String, String>] { &self.aliases } + + fn set_requires(&mut self, requires: Vec<super::link::Link>) { + todo!() + } + + fn set_dev_requires(&mut self, dev_requires: Vec<super::link::Link>) { + todo!() + } + + fn set_conflicts(&mut self, conflicts: Vec<super::link::Link>) { + todo!() + } + + fn set_provides(&mut self, provides: Vec<super::link::Link>) { + todo!() + } + + fn set_replaces(&mut self, replaces: Vec<super::link::Link>) { + todo!() + } + + fn set_autoload(&mut self, autoload: IndexMap<String, PhpMixed>) { + todo!() + } + + fn set_dev_autoload(&mut self, dev_autoload: IndexMap<String, PhpMixed>) { + todo!() + } + + fn set_suggests(&mut self, suggests: IndexMap<String, String>) { + todo!() + } + + fn set_extra(&mut self, extra: IndexMap<String, PhpMixed>) { + todo!() + } +} + +impl CompletePackageInterface for RootPackage { + fn get_scripts(&self) -> IndexMap<String, Vec<String>> { + todo!() + } + + fn set_scripts(&mut self, scripts: IndexMap<String, Vec<String>>) { + todo!() + } + + fn get_repositories(&self) -> Vec<IndexMap<String, PhpMixed>> { + todo!() + } + + fn set_repositories(&mut self, repositories: Vec<IndexMap<String, PhpMixed>>) { + todo!() + } + + fn get_license(&self) -> Vec<String> { + todo!() + } + + fn set_license(&mut self, license: Vec<String>) { + todo!() + } + + fn get_keywords(&self) -> Vec<String> { + todo!() + } + + fn set_keywords(&mut self, keywords: Vec<String>) { + todo!() + } + + fn get_description(&self) -> Option<&str> { + todo!() + } + + fn set_description(&mut self, description: String) { + todo!() + } + + fn get_homepage(&self) -> Option<&str> { + todo!() + } + + fn set_homepage(&mut self, homepage: String) { + todo!() + } + + fn get_authors(&self) -> Vec<IndexMap<String, String>> { + todo!() + } + + fn set_authors(&mut self, authors: Vec<IndexMap<String, String>>) { + todo!() + } + + fn get_support(&self) -> IndexMap<String, String> { + todo!() + } + + fn set_support(&mut self, support: IndexMap<String, String>) { + todo!() + } + + fn get_funding(&self) -> Vec<IndexMap<String, PhpMixed>> { + todo!() + } + + fn set_funding(&mut self, funding: Vec<IndexMap<String, PhpMixed>>) { + todo!() + } + + fn is_abandoned(&self) -> bool { + todo!() + } + + fn get_replacement_package(&self) -> Option<&str> { + todo!() + } + + fn set_abandoned(&mut self, abandoned: PhpMixed) { + todo!() + } + + fn get_archive_name(&self) -> Option<&str> { + todo!() + } + + fn set_archive_name(&mut self, name: String) { + todo!() + } + + fn get_archive_excludes(&self) -> Vec<String> { + todo!() + } + + fn set_archive_excludes(&mut self, excludes: Vec<String>) { + todo!() + } } diff --git a/crates/shirabe/src/repository/composite_repository.rs b/crates/shirabe/src/repository/composite_repository.rs index 5413bbe..e34a5f8 100644 --- a/crates/shirabe/src/repository/composite_repository.rs +++ b/crates/shirabe/src/repository/composite_repository.rs @@ -158,4 +158,8 @@ impl RepositoryInterface for CompositeRepository { } results } + + fn as_any(&self) -> &dyn std::any::Any { + todo!() + } } diff --git a/crates/shirabe/src/repository/installed_array_repository.rs b/crates/shirabe/src/repository/installed_array_repository.rs index e6752df..0b641e2 100644 --- a/crates/shirabe/src/repository/installed_array_repository.rs +++ b/crates/shirabe/src/repository/installed_array_repository.rs @@ -2,6 +2,7 @@ use crate::repository::installed_repository_interface::InstalledRepositoryInterface; use crate::repository::writable_array_repository::WritableArrayRepository; +use crate::repository::writable_repository_interface::WritableRepositoryInterface; #[derive(Debug)] pub struct InstalledArrayRepository { @@ -23,3 +24,45 @@ impl InstalledRepositoryInterface for InstalledArrayRepository { self.inner.count() == 0 } } + +impl WritableRepositoryInterface for InstalledArrayRepository { + fn write( + &mut self, + dev_mode: bool, + installation_manager: &crate::installer::installation_manager::InstallationManager, + ) -> anyhow::Result<()> { + todo!() + } + + fn add_package( + &mut self, + package: Box<dyn crate::package::package_interface::PackageInterface>, + ) -> anyhow::Result<()> { + todo!() + } + + fn remove_package( + &mut self, + package: &dyn crate::package::package_interface::PackageInterface, + ) -> anyhow::Result<()> { + todo!() + } + + fn get_canonical_packages( + &self, + ) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + todo!() + } + + fn reload(&mut self) { + todo!() + } + + fn set_dev_package_names(&mut self, dev_package_names: Vec<String>) { + todo!() + } + + fn get_dev_package_names(&self) -> &Vec<String> { + todo!() + } +} diff --git a/crates/shirabe/src/repository/installed_filesystem_repository.rs b/crates/shirabe/src/repository/installed_filesystem_repository.rs index 9a8bb31..7eee5e0 100644 --- a/crates/shirabe/src/repository/installed_filesystem_repository.rs +++ b/crates/shirabe/src/repository/installed_filesystem_repository.rs @@ -2,6 +2,7 @@ use crate::repository::filesystem_repository::FilesystemRepository; use crate::repository::installed_repository_interface::InstalledRepositoryInterface; +use crate::repository::writable_repository_interface::WritableRepositoryInterface; #[derive(Debug)] pub struct InstalledFilesystemRepository { @@ -23,3 +24,45 @@ impl InstalledRepositoryInterface for InstalledFilesystemRepository { !self.inner.file.exists() } } + +impl WritableRepositoryInterface for InstalledFilesystemRepository { + fn write( + &mut self, + dev_mode: bool, + installation_manager: &crate::installer::installation_manager::InstallationManager, + ) -> anyhow::Result<()> { + todo!() + } + + fn add_package( + &mut self, + package: Box<dyn crate::package::package_interface::PackageInterface>, + ) -> anyhow::Result<()> { + todo!() + } + + fn remove_package( + &mut self, + package: &dyn crate::package::package_interface::PackageInterface, + ) -> anyhow::Result<()> { + todo!() + } + + fn get_canonical_packages( + &self, + ) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + todo!() + } + + fn reload(&mut self) { + todo!() + } + + fn set_dev_package_names(&mut self, dev_package_names: Vec<String>) { + todo!() + } + + fn get_dev_package_names(&self) -> &Vec<String> { + todo!() + } +} diff --git a/crates/shirabe/src/repository/lock_array_repository.rs b/crates/shirabe/src/repository/lock_array_repository.rs index 1ea0d8b..b44f27d 100644 --- a/crates/shirabe/src/repository/lock_array_repository.rs +++ b/crates/shirabe/src/repository/lock_array_repository.rs @@ -8,7 +8,11 @@ pub struct LockArrayRepository { inner: ArrayRepository, } -impl CanonicalPackagesTrait for LockArrayRepository {} +impl CanonicalPackagesTrait for LockArrayRepository { + fn get_packages(&self) -> Vec<Box<dyn crate::package::package_interface::PackageInterface>> { + todo!() + } +} impl LockArrayRepository { pub fn get_repo_name(&self) -> &str { diff --git a/crates/shirabe/src/repository/vcs_repository.rs b/crates/shirabe/src/repository/vcs_repository.rs index 961ea55..9499790 100644 --- a/crates/shirabe/src/repository/vcs_repository.rs +++ b/crates/shirabe/src/repository/vcs_repository.rs @@ -73,7 +73,11 @@ pub struct VcsRepository { _dispatcher: Option<EventDispatcher>, } -impl ConfigurableRepositoryInterface for VcsRepository {} +impl ConfigurableRepositoryInterface for VcsRepository { + fn get_repo_config(&self) -> IndexMap<String, PhpMixed> { + todo!() + } +} impl VcsRepository { /// @param array{url: string, type?: string}&array<string, mixed> $repoConfig |
