diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-27 03:52:05 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-27 04:21:34 +0900 |
| commit | 2b51554ff59d1e5cbf8dd2db65d278b0202a9102 (patch) | |
| tree | f4d9b0abf4df9b5e363e3bd65511d70e3d5ada00 /crates/shirabe/src/repository | |
| parent | cc07b5abb83a40d678401c335bdc49bb81b72c5f (diff) | |
| download | php-shirabe-2b51554ff59d1e5cbf8dd2db65d278b0202a9102.tar.gz php-shirabe-2b51554ff59d1e5cbf8dd2db65d278b0202a9102.tar.zst php-shirabe-2b51554ff59d1e5cbf8dd2db65d278b0202a9102.zip | |
refactor: fix compiler warnings and clippy warnings
Diffstat (limited to 'crates/shirabe/src/repository')
23 files changed, 84 insertions, 131 deletions
diff --git a/crates/shirabe/src/repository/advisory_provider_interface.rs b/crates/shirabe/src/repository/advisory_provider_interface.rs index 9d0c5ac..f1e639a 100644 --- a/crates/shirabe/src/repository/advisory_provider_interface.rs +++ b/crates/shirabe/src/repository/advisory_provider_interface.rs @@ -1,6 +1,6 @@ //! ref: composer/src/Composer/Repository/AdvisoryProviderInterface.php -use crate::advisory::{AnySecurityAdvisory, PartialSecurityAdvisory, SecurityAdvisory}; +use crate::advisory::AnySecurityAdvisory; use indexmap::IndexMap; use shirabe_semver::constraint::AnyConstraint; diff --git a/crates/shirabe/src/repository/array_repository.rs b/crates/shirabe/src/repository/array_repository.rs index 7f99c1c..e1f8806 100644 --- a/crates/shirabe/src/repository/array_repository.rs +++ b/crates/shirabe/src/repository/array_repository.rs @@ -1,6 +1,5 @@ //! ref: composer/src/Composer/Repository/ArrayRepository.php -use std::any::Any; use std::cell::RefCell; use std::rc::Weak; diff --git a/crates/shirabe/src/repository/artifact_repository.rs b/crates/shirabe/src/repository/artifact_repository.rs index 9a28d65..01612a4 100644 --- a/crates/shirabe/src/repository/artifact_repository.rs +++ b/crates/shirabe/src/repository/artifact_repository.rs @@ -11,7 +11,6 @@ use shirabe_php_shim::{ use crate::io::IOInterface; use crate::io::IOInterfaceImmutable; use crate::json::JsonFile; -use crate::package::BasePackage; use crate::package::loader::ArrayLoader; use crate::package::loader::LoaderInterface; use crate::repository::ArrayRepository; diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index 3314ebd..4042a9b 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -24,9 +24,8 @@ use crate::io::IOInterfaceImmutable; use crate::json::JsonEncodeOptions; use crate::json::JsonFile; use crate::package::BasePackageHandle; -use crate::package::PackageInterface; use crate::package::PackageInterfaceHandle; -use crate::package::base_package::{self, BasePackage}; +use crate::package::base_package; use crate::package::loader::ArrayLoader; use crate::package::version::StabilityFilter; use crate::package::version::VersionParser; @@ -789,7 +788,7 @@ impl ComposerRepository { r"{^\^(?P<query>(?P<vendor>[a-z0-9_.-]+)/[a-z0-9_.-]*)\*?$}i", &query, Some(&mut match_groups), - ) && self.list_url.is_some() + ) && let Some(list_url) = self.list_url.as_ref() { let q = match_groups .get(&CaptureKey::ByName("query".to_string())) @@ -801,7 +800,7 @@ impl ComposerRepository { .unwrap_or_default(); let url = format!( "{}?vendor={}&filter={}", - self.list_url.as_ref().unwrap(), + list_url, urlencode(&vendor), urlencode(&format!("{}*", q)), ); @@ -1025,11 +1024,8 @@ impl ComposerRepository { http_map.insert("header".to_string(), PhpMixed::List(arr)); } let mut headers = match http_map.get("header") { - Some(b) => match b { - PhpMixed::List(l) => l.clone(), - _ => vec![], - }, - None => vec![], + Some(PhpMixed::List(l)) => l.clone(), + _ => vec![], }; headers.push(PhpMixed::String( "Content-type: application/x-www-form-urlencoded".to_string(), @@ -1229,14 +1225,10 @@ impl ComposerRepository { return Ok(vec![]); } - if self.providers_url.is_some() && self.provider_listing.is_some() { - return Ok(self - .provider_listing - .as_ref() - .unwrap() - .keys() - .cloned() - .collect()); + if self.providers_url.is_some() + && let Some(provider_listing) = self.provider_listing.as_ref() + { + return Ok(provider_listing.keys().cloned().collect()); } Ok(vec![]) @@ -1292,18 +1284,14 @@ impl ComposerRepository { let hash_opt: Option<String>; let url: String; let cache_key: String; - if self.lazy_providers_url.is_some() + if let Some(lazy_providers_url) = self.lazy_providers_url.as_ref() && !self .provider_listing .as_ref() .is_some_and(|m| m.contains_key(name)) { hash_opt = None; - url = self - .lazy_providers_url - .as_ref() - .unwrap() - .replace("%package%", name); + url = lazy_providers_url.replace("%package%", name); cache_key = format!("provider-{}.json", strtr(name, "/", "$")); use_last_modified_check = true; } else if let Some(providers_url) = self.providers_url.clone() { @@ -1477,7 +1465,7 @@ impl ComposerRepository { for versions_mixed in packages_inner.iter() { // $versions can be either array<string, array> or list<array> let iter_versions: Vec<PhpMixed> = match versions_mixed { - PhpMixed::Array(a) => a.values().map(|v| v.clone()).collect(), + PhpMixed::Array(a) => a.values().cloned().collect(), PhpMixed::List(l) => l.clone(), _ => continue, }; @@ -2946,11 +2934,8 @@ impl ComposerRepository { http_map.insert("header".to_string(), PhpMixed::List(arr)); } let mut headers = match http_map.get("header") { - Some(b) => match b { - PhpMixed::List(l) => l.clone(), - _ => vec![], - }, - None => vec![], + Some(PhpMixed::List(l)) => l.clone(), + _ => vec![], }; headers.push(PhpMixed::String(format!( "If-Modified-Since: {}", @@ -3106,11 +3091,8 @@ impl ComposerRepository { http_map.insert("header".to_string(), PhpMixed::List(arr)); } let mut headers = match http_map.get("header") { - Some(b) => match b { - PhpMixed::List(l) => l.clone(), - _ => vec![], - }, - None => vec![], + Some(PhpMixed::List(l)) => l.clone(), + _ => vec![], }; headers.push(PhpMixed::String(format!( "If-Modified-Since: {}", diff --git a/crates/shirabe/src/repository/composite_repository.rs b/crates/shirabe/src/repository/composite_repository.rs index 27e6bf2..d1456b1 100644 --- a/crates/shirabe/src/repository/composite_repository.rs +++ b/crates/shirabe/src/repository/composite_repository.rs @@ -1,7 +1,5 @@ //! ref: composer/src/Composer/Repository/CompositeRepository.php -use std::any::Any; - use indexmap::IndexMap; use shirabe_semver::constraint::AnyConstraint; diff --git a/crates/shirabe/src/repository/filesystem_repository.rs b/crates/shirabe/src/repository/filesystem_repository.rs index 670bfb4..30c01e8 100644 --- a/crates/shirabe/src/repository/filesystem_repository.rs +++ b/crates/shirabe/src/repository/filesystem_repository.rs @@ -7,10 +7,9 @@ use anyhow::Result; use indexmap::IndexMap; 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, - get_class_err, get_debug_type, in_array, is_array, is_null, is_string, ksort, realpath, sort, - sort_with_flags, str_repeat, strtr, trim, usort, var_export, + Exception, InvalidArgumentException, LogicException, PhpMixed, UnexpectedValueException, + array_flip, dirname, r#eval, file_get_contents, get_class_err, get_debug_type, in_array, + is_array, is_null, is_string, ksort, realpath, str_repeat, trim, usort, var_export, }; use crate::config::is_php_integer_key; @@ -160,7 +159,7 @@ impl FilesystemRepository { } }; - let mut loader = ArrayLoader::new(None, true); + let loader = ArrayLoader::new(None, true); if let Some(packages_list) = packages.as_list() { for package_data in packages_list.iter() { let cfg = package_data.as_array().cloned().unwrap_or_default(); diff --git a/crates/shirabe/src/repository/handle.rs b/crates/shirabe/src/repository/handle.rs index 90a9090..d0ad774 100644 --- a/crates/shirabe/src/repository/handle.rs +++ b/crates/shirabe/src/repository/handle.rs @@ -9,9 +9,8 @@ use shirabe_semver::constraint::AnyConstraint; use crate::package::BasePackageHandle; use crate::package::PackageInterfaceHandle; use crate::repository::{ - FindPackageConstraint, InstalledRepositoryInterface, LoadPackagesResult, LockArrayRepository, - PlatformRepository, ProviderInfo, RepositoryInterface, SearchResult, - WritableRepositoryInterface, + FindPackageConstraint, LoadPackagesResult, LockArrayRepository, PlatformRepository, + ProviderInfo, RepositoryInterface, SearchResult, }; /// Shared reference to a repository. Corresponds to PHP `RepositoryInterface`. diff --git a/crates/shirabe/src/repository/installed_repository.rs b/crates/shirabe/src/repository/installed_repository.rs index cfa5a7a..b17fb27 100644 --- a/crates/shirabe/src/repository/installed_repository.rs +++ b/crates/shirabe/src/repository/installed_repository.rs @@ -1,7 +1,6 @@ //! ref: composer/src/Composer/Repository/InstalledRepository.php use indexmap::IndexMap; -use shirabe_php_shim::LogicException; use shirabe_php_shim::array_merge_map; use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::MatchAllConstraint; @@ -12,7 +11,6 @@ use crate::package::Link; use crate::package::PackageInterfaceHandle; 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; @@ -118,7 +116,7 @@ impl InstalledRepository { }; let mut results: Vec<DependentsEntry> = vec![]; - let mut packages_found = packages_found.unwrap_or_else(|| needles.clone()); + let packages_found = packages_found.unwrap_or_else(|| needles.clone()); let mut root_package: Option<BasePackageHandle> = None; for package in self.inner.get_packages()? { diff --git a/crates/shirabe/src/repository/package_repository.rs b/crates/shirabe/src/repository/package_repository.rs index fb340f5..fe10a57 100644 --- a/crates/shirabe/src/repository/package_repository.rs +++ b/crates/shirabe/src/repository/package_repository.rs @@ -1,6 +1,5 @@ //! ref: composer/src/Composer/Repository/PackageRepository.php -use crate::advisory::SecurityAdvisory; use crate::advisory::{AnySecurityAdvisory, PartialSecurityAdvisory}; use crate::package::BasePackageHandle; use crate::package::PackageInterfaceHandle; diff --git a/crates/shirabe/src/repository/path_repository.rs b/crates/shirabe/src/repository/path_repository.rs index 2f99ceb..e5dff0e 100644 --- a/crates/shirabe/src/repository/path_repository.rs +++ b/crates/shirabe/src/repository/path_repository.rs @@ -276,7 +276,7 @@ impl PathRepository { args }); if reference == "auto" - && shirabe_php_shim::is_dir(&format!("{}/.git", path.trim_end_matches('/'))) + && shirabe_php_shim::is_dir(format!("{}/.git", path.trim_end_matches('/'))) && self .process .borrow_mut() diff --git a/crates/shirabe/src/repository/platform_repository.rs b/crates/shirabe/src/repository/platform_repository.rs index 26005e2..981ad8d 100644 --- a/crates/shirabe/src/repository/platform_repository.rs +++ b/crates/shirabe/src/repository/platform_repository.rs @@ -7,15 +7,13 @@ use indexmap::IndexMap; 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, + InvalidArgumentException, PhpMixed, UnexpectedValueException, array_map_str_fn, + array_slice_strs, explode, get_class, implode, in_array, is_string, str_replace, str_starts_with, strpos, strtolower, var_export, }; -use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::SimpleConstraint; use crate::composer; -use crate::composer::ComposerHandle; use crate::package::CompletePackage; use crate::package::CompletePackageHandle; use crate::package::CompletePackageInterface; @@ -27,7 +25,7 @@ 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::plugin::plugin_interface::{self}; use crate::repository::ArrayRepository; use crate::repository::RepositoryInterface; use crate::util::Silencer; diff --git a/crates/shirabe/src/repository/repository_factory.rs b/crates/shirabe/src/repository/repository_factory.rs index 9cc4e4d..db8185e 100644 --- a/crates/shirabe/src/repository/repository_factory.rs +++ b/crates/shirabe/src/repository/repository_factory.rs @@ -11,7 +11,6 @@ use crate::config::Config; use crate::event_dispatcher::EventDispatcher; use crate::factory::Factory; use crate::io::IOInterface; -use crate::io::IOInterfaceMutable; use crate::json::JsonFile; use crate::repository::FilesystemRepository; use crate::repository::RepositoryInterfaceHandle; @@ -84,7 +83,7 @@ impl RepositoryFactory { if repository.starts_with('{') { let parsed = JsonFile::parse_json(Some(repository), None)?; let repo_config: IndexMap<String, PhpMixed> = - parsed.as_array().map(|m| m.clone()).unwrap_or_default(); + parsed.as_array().cloned().unwrap_or_default(); return Ok(repo_config); } diff --git a/crates/shirabe/src/repository/repository_set.rs b/crates/shirabe/src/repository/repository_set.rs index 40e7f22..ba6373a 100644 --- a/crates/shirabe/src/repository/repository_set.rs +++ b/crates/shirabe/src/repository/repository_set.rs @@ -1,18 +1,14 @@ //! ref: composer/src/Composer/Repository/RepositorySet.php -use std::any::Any; - use anyhow::Result; use indexmap::IndexMap; -use shirabe_php_shim::{ - LogicException, PhpMixed, RuntimeException, array_merge, ksort, strtolower, -}; +use shirabe_php_shim::{LogicException, RuntimeException, ksort, strtolower}; use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::MatchAllConstraint; use shirabe_semver::constraint::MultiConstraint; use shirabe_semver::constraint::SimpleConstraint; -use crate::advisory::{AnySecurityAdvisory, PartialSecurityAdvisory, SecurityAdvisory}; +use crate::advisory::AnySecurityAdvisory; use crate::dependency_resolver::Pool; use crate::dependency_resolver::PoolBuilder; use crate::dependency_resolver::PoolOptimizer; @@ -27,13 +23,11 @@ use crate::package::BasePackageHandle; use crate::package::CompleteAliasPackageHandle; use crate::package::PackageInterfaceHandle; use crate::package::version::StabilityFilter; -use crate::repository::AdvisoryProviderInterface; use crate::repository::CompositeRepository; use crate::repository::InstalledRepository; -use crate::repository::InstalledRepositoryInterface; use crate::repository::LockArrayRepositoryHandle; use crate::repository::PlatformRepository; -use crate::repository::{FindPackageConstraint, RepositoryInterface, RepositoryInterfaceHandle}; +use crate::repository::{FindPackageConstraint, RepositoryInterfaceHandle}; #[derive(Debug, Clone)] pub struct RootAliasEntry { diff --git a/crates/shirabe/src/repository/repository_utils.rs b/crates/shirabe/src/repository/repository_utils.rs index 38c5016..40cb4d2 100644 --- a/crates/shirabe/src/repository/repository_utils.rs +++ b/crates/shirabe/src/repository/repository_utils.rs @@ -5,7 +5,6 @@ use crate::repository::CompositeRepository; use crate::repository::FilterRepository; use crate::repository::RepositoryInterfaceHandle; use indexmap::IndexMap; -use std::any::Any; pub struct RepositoryUtils; diff --git a/crates/shirabe/src/repository/vcs/forgejo_driver.rs b/crates/shirabe/src/repository/vcs/forgejo_driver.rs index 18f1cf1..4d66f37 100644 --- a/crates/shirabe/src/repository/vcs/forgejo_driver.rs +++ b/crates/shirabe/src/repository/vcs/forgejo_driver.rs @@ -5,7 +5,7 @@ use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ - DATE_RFC3339, PhpMixed, RuntimeException, base64_decode, explode, extension_loaded, urlencode, + PhpMixed, RuntimeException, base64_decode, explode, extension_loaded, urlencode, }; use crate::cache::Cache; @@ -17,7 +17,6 @@ use crate::json::JsonEncodeOptions; 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; @@ -341,7 +340,7 @@ impl ForgejoDriver { let composer = if self.inner.should_cache(identifier) { if let Some(res) = self.inner.cache.as_mut().and_then(|c| c.read(identifier)) { let parsed = JsonFile::parse_json(Some(res.as_str()), None)?; - parsed.as_array().map(|m| m.clone()) + parsed.as_array().cloned() } else { let file_content = self.get_file_content("composer.json", identifier)?; let c = VcsDriverBase::finish_base_composer_information( diff --git a/crates/shirabe/src/repository/vcs/fossil_driver.rs b/crates/shirabe/src/repository/vcs/fossil_driver.rs index ebc0ac4..be3beff 100644 --- a/crates/shirabe/src/repository/vcs/fossil_driver.rs +++ b/crates/shirabe/src/repository/vcs/fossil_driver.rs @@ -4,9 +4,7 @@ use crate::io::io_interface; use chrono::{DateTime, FixedOffset, Utc}; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; -use shirabe_php_shim::{ - DATE_RFC3339, PhpMixed, RuntimeException, dirname, is_dir, is_file, is_writable, -}; +use shirabe_php_shim::{PhpMixed, RuntimeException, dirname, is_dir, is_file, is_writable}; use crate::cache::Cache; use crate::config::Config; diff --git a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs index b5469ec..7a570bc 100644 --- a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs +++ b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs @@ -6,9 +6,9 @@ use chrono::{DateTime, FixedOffset}; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ - DATE_RFC3339, InvalidArgumentException, LogicException, PhpMixed, RuntimeException, - array_key_exists, array_search_mixed, extension_loaded, http_build_query_mixed, implode, - in_array, is_array, sprintf, strpos, + InvalidArgumentException, LogicException, PhpMixed, RuntimeException, array_key_exists, + array_search_mixed, extension_loaded, http_build_query_mixed, implode, in_array, is_array, + strpos, }; use crate::cache::Cache; @@ -257,9 +257,7 @@ impl GitBitbucketDriver { if self.inner.should_cache(identifier) && { let res = self.inner.cache.as_mut().and_then(|c| c.read(identifier)); if let Some(res) = res { - composer = JsonFile::parse_json(Some(&res), None)? - .as_array() - .map(|m| m.clone()); + composer = JsonFile::parse_json(Some(&res), None)?.as_array().cloned(); true } else { false @@ -343,30 +341,35 @@ impl GitBitbucketDriver { let support_entry = composer_map .entry("support".to_string()) .or_insert(PhpMixed::Array(IndexMap::new())); - if hash.is_none() { - if let PhpMixed::Array(support_map) = support_entry { - support_map.insert( - "source".to_string(), - PhpMixed::String(format!( - "https://{}/{}/{}/src", - self.inner.origin_url.clone(), - self.owner.clone(), - self.repository.clone(), - )), - ); + match &hash { + None => { + if let PhpMixed::Array(support_map) = support_entry { + support_map.insert( + "source".to_string(), + PhpMixed::String(format!( + "https://{}/{}/{}/src", + self.inner.origin_url.clone(), + self.owner.clone(), + self.repository.clone(), + )), + ); + } + } + Some(hash) => { + if let PhpMixed::Array(support_map) = support_entry { + support_map.insert( + "source".to_string(), + PhpMixed::String(format!( + "https://{}/{}/{}/src/{}/?at={}", + self.inner.origin_url.clone(), + self.owner.clone(), + self.repository.clone(), + hash, + label.clone(), + )), + ); + } } - } else if let PhpMixed::Array(support_map) = support_entry { - support_map.insert( - "source".to_string(), - PhpMixed::String(format!( - "https://{}/{}/{}/src/{}/?at={}", - self.inner.origin_url.clone(), - self.owner.clone(), - self.repository.clone(), - hash.unwrap(), - label.clone(), - )), - ); } } let support_has_issues = composer_map @@ -432,7 +435,7 @@ impl GitBitbucketDriver { self.owner.clone(), self.repository.clone(), identifier, - file.to_string(), + file, ); Ok(self @@ -500,7 +503,7 @@ impl GitBitbucketDriver { "https://bitbucket.org/{}/{}/get/{}.zip", self.owner.clone(), self.repository.clone(), - identifier.to_string(), + identifier, ); let mut m: IndexMap<String, String> = IndexMap::new(); diff --git a/crates/shirabe/src/repository/vcs/github_driver.rs b/crates/shirabe/src/repository/vcs/github_driver.rs index 7c50a7e..e45096d 100644 --- a/crates/shirabe/src/repository/vcs/github_driver.rs +++ b/crates/shirabe/src/repository/vcs/github_driver.rs @@ -6,10 +6,9 @@ use chrono::{DateTime, FixedOffset}; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ - DATE_RFC3339, InvalidArgumentException, PhpMixed, RuntimeException, array_diff, - array_key_exists, array_map, array_search_mixed, base64_decode, basename, count, empty, - explode, extension_loaded, in_array, parse_url_all, sprintf, strpos, strtolower, substr, trim, - urlencode, + InvalidArgumentException, PhpMixed, RuntimeException, array_diff, array_key_exists, array_map, + array_search_mixed, base64_decode, basename, empty, explode, extension_loaded, in_array, + parse_url_all, strpos, strtolower, substr, trim, urlencode, }; use crate::cache::Cache; @@ -21,7 +20,6 @@ use crate::json::JsonEncodeOptions; 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; @@ -279,7 +277,7 @@ impl GitHubDriver { .and_then(|c| c.read(identifier)) .unwrap_or_default(); let parsed = JsonFile::parse_json(Some(&res), None)?; - parsed.as_array().map(|m| m.clone()) + parsed.as_array().cloned() } else { let file_content = self.get_file_content("composer.json", identifier)?; let composer = VcsDriverBase::finish_base_composer_information( diff --git a/crates/shirabe/src/repository/vcs/gitlab_driver.rs b/crates/shirabe/src/repository/vcs/gitlab_driver.rs index 7e8073d..a9a2fdb 100644 --- a/crates/shirabe/src/repository/vcs/gitlab_driver.rs +++ b/crates/shirabe/src/repository/vcs/gitlab_driver.rs @@ -6,9 +6,9 @@ use chrono::{DateTime, FixedOffset}; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ - DATE_RFC3339, InvalidArgumentException, LogicException, PhpMixed, RuntimeException, - array_search_mixed, array_shift, ctype_alnum, empty, explode, extension_loaded, implode, - in_array, is_array, is_string, ord, sprintf, strpos, strtolower, + InvalidArgumentException, LogicException, PhpMixed, RuntimeException, array_search_mixed, + array_shift, ctype_alnum, empty, explode, extension_loaded, implode, in_array, is_array, + is_string, ord, strpos, strtolower, }; use crate::cache::Cache; @@ -20,7 +20,6 @@ use crate::json::JsonEncodeOptions; 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; @@ -284,9 +283,7 @@ impl GitLabDriver { .as_mut() .and_then(|c| c.read(identifier)) .unwrap_or_default(); - JsonFile::parse_json(Some(&res), None)? - .as_array() - .map(|m| m.clone()) + JsonFile::parse_json(Some(&res), None)?.as_array().cloned() } else { let file_content = self.get_file_content("composer.json", identifier)?; let composer = VcsDriverBase::finish_base_composer_information( diff --git a/crates/shirabe/src/repository/vcs/hg_driver.rs b/crates/shirabe/src/repository/vcs/hg_driver.rs index 641e3e8..b668a2c 100644 --- a/crates/shirabe/src/repository/vcs/hg_driver.rs +++ b/crates/shirabe/src/repository/vcs/hg_driver.rs @@ -5,7 +5,6 @@ use crate::config::Config; use crate::downloader::TransportException; use crate::io::IOInterface; use crate::io::IOInterfaceImmutable; -use crate::io::io_interface; use crate::repository::vcs::VcsDriverBase; use crate::util::Filesystem; use crate::util::Hg as HgUtils; @@ -13,7 +12,7 @@ use crate::util::Url; use chrono::{DateTime, FixedOffset, Utc}; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; -use shirabe_php_shim::{DATE_RFC3339, PhpMixed, RuntimeException, dirname, is_dir, is_writable}; +use shirabe_php_shim::{PhpMixed, RuntimeException, dirname, is_dir, is_writable}; #[derive(Debug)] pub struct HgDriver { diff --git a/crates/shirabe/src/repository/vcs/svn_driver.rs b/crates/shirabe/src/repository/vcs/svn_driver.rs index dd2d26d..087ed9d 100644 --- a/crates/shirabe/src/repository/vcs/svn_driver.rs +++ b/crates/shirabe/src/repository/vcs/svn_driver.rs @@ -5,8 +5,7 @@ use chrono::{DateTime, FixedOffset, Utc}; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ - PhpMixed, RuntimeException, array_key_exists, is_array, sprintf, stripos, strrpos, strtr, - substr, trim, + PhpMixed, RuntimeException, array_key_exists, stripos, strrpos, strtr, substr, trim, }; use crate::cache::Cache; @@ -187,8 +186,7 @@ impl SvnDriver { } let parsed = JsonFile::parse_json(Some(res.as_str()), None)?; - let composer: Option<IndexMap<String, PhpMixed>> = - parsed.as_array().map(|m| m.clone()); + let composer: Option<IndexMap<String, PhpMixed>> = parsed.as_array().cloned(); self.inner .info_cache .insert(identifier.to_string(), composer.clone()); @@ -380,10 +378,10 @@ impl SvnDriver { if self.branches.is_none() { let mut branches: IndexMap<String, String> = IndexMap::new(); - let trunk_parent = if self.trunk_path.is_none() { - format!("{}/", self.base_url) + let trunk_parent = if let Some(trunk_path) = self.trunk_path.as_ref() { + format!("{}/{}", self.base_url, trunk_path) } else { - format!("{}/{}", self.base_url, self.trunk_path.as_ref().unwrap()) + format!("{}/", self.base_url) }; let output = self.execute( diff --git a/crates/shirabe/src/repository/vcs/vcs_driver.rs b/crates/shirabe/src/repository/vcs/vcs_driver.rs index 249e53f..5e0715c 100644 --- a/crates/shirabe/src/repository/vcs/vcs_driver.rs +++ b/crates/shirabe/src/repository/vcs/vcs_driver.rs @@ -12,7 +12,6 @@ use crate::io::IOInterface; use crate::json::JsonEncodeOptions; 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; @@ -150,7 +149,7 @@ impl VcsDriverBase { && let Some(res) = self.cache.as_mut().and_then(|c| c.read(identifier)) { let parsed = JsonFile::parse_json(Some(&res), None)?; - let composer: Option<IndexMap<String, PhpMixed>> = parsed.as_array().map(|m| m.clone()); + let composer: Option<IndexMap<String, PhpMixed>> = parsed.as_array().cloned(); self.info_cache .insert(identifier.to_string(), composer.clone()); return Ok(Some(composer)); diff --git a/crates/shirabe/src/repository/vcs_repository.rs b/crates/shirabe/src/repository/vcs_repository.rs index 7a143eb..c4e89bc 100644 --- a/crates/shirabe/src/repository/vcs_repository.rs +++ b/crates/shirabe/src/repository/vcs_repository.rs @@ -5,7 +5,6 @@ use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{InvalidArgumentException, PhpMixed, in_array, str_replace, strpos}; -use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::SimpleConstraint; use crate::config::Config; |
