diff options
Diffstat (limited to 'crates/shirabe/src/package')
8 files changed, 46 insertions, 62 deletions
diff --git a/crates/shirabe/src/package/alias_package.rs b/crates/shirabe/src/package/alias_package.rs index 1cc899d..b05387d 100644 --- a/crates/shirabe/src/package/alias_package.rs +++ b/crates/shirabe/src/package/alias_package.rs @@ -3,7 +3,6 @@ use chrono::{DateTime, Utc}; use indexmap::IndexMap; use shirabe_php_shim::{PhpMixed, in_array}; -use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::SimpleConstraint; use crate::package::BasePackage; diff --git a/crates/shirabe/src/package/archiver/archive_manager.rs b/crates/shirabe/src/package/archiver/archive_manager.rs index 2c9eb35..139eb9a 100644 --- a/crates/shirabe/src/package/archiver/archive_manager.rs +++ b/crates/shirabe/src/package/archiver/archive_manager.rs @@ -9,9 +9,7 @@ use shirabe_php_shim::{ use crate::downloader::DownloadManager; use crate::json::JsonFile; -use crate::package::CompletePackageInterface; use crate::package::CompletePackageInterfaceHandle; -use crate::package::RootPackageInterface; use crate::package::archiver::ArchiverInterface; use crate::package::archiver::PharArchiver; use crate::package::archiver::ZipArchiver; diff --git a/crates/shirabe/src/package/loader/array_loader.rs b/crates/shirabe/src/package/loader/array_loader.rs index 20280e0..b86f1de 100644 --- a/crates/shirabe/src/package/loader/array_loader.rs +++ b/crates/shirabe/src/package/loader/array_loader.rs @@ -6,7 +6,7 @@ use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ E_USER_DEPRECATED, PhpMixed, UnexpectedValueException, is_scalar, is_string, json_encode, - ltrim, sprintf, stripos, strpos, strtolower, strval, substr, trigger_error, trim, + ltrim, stripos, strpos, strtolower, strval, substr, trigger_error, trim, }; use crate::package::CompleteAliasPackageHandle; @@ -21,9 +21,9 @@ use crate::package::PackageInterfaceHandle; use crate::package::RootAliasPackageHandle; use crate::package::RootPackage; use crate::package::RootPackageHandle; +use crate::package::SUPPORTED_LINK_TYPES; use crate::package::loader::LoaderInterface; use crate::package::version::VersionParser; -use crate::package::{BasePackage, SUPPORTED_LINK_TYPES}; #[derive(Debug)] pub struct ArrayLoader { @@ -100,7 +100,7 @@ fn php_to_map(value: &PhpMixed) -> IndexMap<String, PhpMixed> { fn php_to_string_vec(value: &PhpMixed) -> Vec<String> { match value { PhpMixed::List(l) => l.iter().map(strval).collect(), - PhpMixed::Array(m) => m.values().map(|v| strval(v)).collect(), + PhpMixed::Array(m) => m.values().map(strval).collect(), _ => Vec::new(), } } @@ -389,8 +389,7 @@ impl ArrayLoader { config .get("name") .and_then(|v| v.as_string()) - .unwrap_or("") - .to_string(), + .unwrap_or(""), json_encode(&source).unwrap_or_default(), ), code: 0, @@ -400,15 +399,15 @@ impl ArrayLoader { let source_map = source_map.unwrap(); package .package_mut() - .set_source_type(source_map.get("type").map(|v| strval(v))); + .set_source_type(source_map.get("type").map(strval)); package .package_mut() - .set_source_url(source_map.get("url").map(|v| strval(v))); + .set_source_url(source_map.get("url").map(strval)); package.package_mut().set_source_reference( source_map .get("reference") .filter(|v| !v.is_null()) - .map(|v| strval(v)), + .map(strval), ); if let Some(mirrors) = source_map.get("mirrors") { package @@ -434,8 +433,7 @@ impl ArrayLoader { config .get("name") .and_then(|v| v.as_string()) - .unwrap_or("") - .to_string(), + .unwrap_or(""), json_encode(&dist).unwrap_or_default(), ), code: 0, @@ -445,19 +443,19 @@ impl ArrayLoader { let dist_map = dist_map.unwrap(); package .package_mut() - .set_dist_type(dist_map.get("type").map(|v| strval(v))); + .set_dist_type(dist_map.get("type").map(strval)); package .package_mut() - .set_dist_url(dist_map.get("url").map(|v| strval(v))); + .set_dist_url(dist_map.get("url").map(strval)); package.package_mut().set_dist_reference( dist_map .get("reference") .filter(|v| !v.is_null()) - .map(|v| strval(v)), + .map(strval), ); package .package_mut() - .set_dist_sha1_checksum(dist_map.get("shasum").map(|v| strval(v))); + .set_dist_sha1_checksum(dist_map.get("shasum").map(strval)); if let Some(mirrors) = dist_map.get("mirrors") { package .package_mut() @@ -598,7 +596,7 @@ impl ArrayLoader { { let keywords_vec: Vec<String> = match keywords { PhpMixed::List(list) => list.iter().map(strval).collect(), - PhpMixed::Array(map) => map.values().map(|v| strval(v)).collect(), + PhpMixed::Array(map) => map.values().map(strval).collect(), _ => vec![], }; package.complete_mut().set_keywords(keywords_vec); diff --git a/crates/shirabe/src/package/loader/root_package_loader.rs b/crates/shirabe/src/package/loader/root_package_loader.rs index 308706f..556f36e 100644 --- a/crates/shirabe/src/package/loader/root_package_loader.rs +++ b/crates/shirabe/src/package/loader/root_package_loader.rs @@ -2,22 +2,17 @@ use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; -use shirabe_php_shim::{ - LogicException, PhpMixed, RuntimeException, UnexpectedValueException, strtolower, ucfirst, -}; +use shirabe_php_shim::{PhpMixed, RuntimeException, UnexpectedValueException, strtolower}; use crate::config::Config; use crate::io::IOInterface; use crate::io::IOInterfaceImmutable; -use crate::package::CompletePackageInterface; -use crate::package::PackageInterface; -use crate::package::RootPackageInterface; use crate::package::loader::ArrayLoader; use crate::package::loader::LoaderInterface; use crate::package::loader::ValidatingArrayLoader; use crate::package::version::VersionGuesser; use crate::package::version::VersionParser; -use crate::package::{BasePackage, RootPackage, STABILITIES, SUPPORTED_LINK_TYPES}; +use crate::package::{RootPackage, STABILITIES, SUPPORTED_LINK_TYPES}; use crate::repository::RepositoryFactory; use crate::repository::RepositoryManager; use crate::util::Platform; diff --git a/crates/shirabe/src/package/loader/validating_array_loader.rs b/crates/shirabe/src/package/loader/validating_array_loader.rs index 6a85e37..14500a6 100644 --- a/crates/shirabe/src/package/loader/validating_array_loader.rs +++ b/crates/shirabe/src/package/loader/validating_array_loader.rs @@ -1,25 +1,23 @@ //! ref: composer/src/Composer/Package/Loader/ValidatingArrayLoader.php -use chrono::TimeZone; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ E_USER_DEPRECATED, PHP_EOL, PhpMixed, array_intersect_key, array_values, filter_var_email, get_debug_type, is_array, is_bool, is_int, is_numeric, is_scalar, is_string, json_encode, - parse_url_all, php_to_string, sprintf, str_replace, strcasecmp, strtolower, strtotime, substr, + parse_url_all, php_to_string, str_replace, strcasecmp, strtolower, strtotime, substr, trigger_error, trim, var_export, }; use shirabe_semver::Intervals; use shirabe_semver::constraint::AnyConstraint; -use shirabe_semver::constraint::MatchNoneConstraint; use shirabe_semver::constraint::SimpleConstraint; use shirabe_spdx_licenses::SpdxLicenses; use crate::package::loader::InvalidPackageException; use crate::package::loader::LoaderInterface; use crate::package::version::VersionParser; -use crate::package::{BasePackage, STABILITIES, SUPPORTED_LINK_TYPES}; +use crate::package::{STABILITIES, SUPPORTED_LINK_TYPES}; use crate::repository::PlatformRepository; #[derive(Debug)] diff --git a/crates/shirabe/src/package/locker.rs b/crates/shirabe/src/package/locker.rs index 8e6f3fb..926429a 100644 --- a/crates/shirabe/src/package/locker.rs +++ b/crates/shirabe/src/package/locker.rs @@ -8,7 +8,7 @@ use shirabe_external_packages::seld::json_lint::ParsingException; use shirabe_php_shim::{ DATE_RFC3339, LogicException, PhpMixed, RuntimeException, array_intersect, array_keys, array_map, array_merge, file_get_contents, filemtime, function_exists, hash, in_array, is_int, - ksort, realpath, sprintf, strcmp, strtolower, touch2, trim, usort, + ksort, realpath, strcmp, strtolower, touch2, trim, usort, }; use crate::installer::InstallationManager; @@ -18,14 +18,13 @@ use crate::json::JsonFile; use crate::package::BasePackageHandle; use crate::package::CompleteAliasPackageHandle; use crate::package::Link; -use crate::package::PackageInterface; use crate::package::PackageInterfaceHandle; use crate::package::RootPackageInterfaceHandle; use crate::package::dumper::ArrayDumper; use crate::package::loader::ArrayLoader; use crate::package::loader::LoaderInterface; use crate::package::version::VersionParser; -use crate::plugin::plugin_interface::{self, PluginInterface}; +use crate::plugin::plugin_interface::{self}; use crate::repository::FindPackageConstraint; use crate::repository::InstalledRepository; use crate::repository::LockArrayRepository; @@ -161,15 +160,19 @@ impl Locker { }; let content_hash = lock_map.get("content-hash"); - if content_hash.is_some() && !shirabe_php_shim::empty(content_hash.unwrap()) { + if let Some(content_hash) = content_hash + && !shirabe_php_shim::empty(content_hash) + { // There is a content hash key, use that instead of the file hash - return Ok(self.content_hash == content_hash.unwrap().as_string().unwrap_or("")); + return Ok(self.content_hash == content_hash.as_string().unwrap_or("")); } // BC support for old lock files without content-hash let lock_hash = lock_map.get("hash"); - if lock_hash.is_some() && !shirabe_php_shim::empty(lock_hash.unwrap()) { - return Ok(self.hash == lock_hash.unwrap().as_string().unwrap_or("")); + if let Some(lock_hash) = lock_hash + && !shirabe_php_shim::empty(lock_hash) + { + return Ok(self.hash == lock_hash.as_string().unwrap_or("")); } // should not be reached unless the lock file is corrupted, so assume it's out of date @@ -301,12 +304,14 @@ impl Locker { let mut requirements: IndexMap<String, Link> = IndexMap::new(); let platform_value = lock_data.get("platform"); - if platform_value.is_some() && !shirabe_php_shim::empty(platform_value.unwrap()) { + if let Some(platform_value) = platform_value + && !shirabe_php_shim::empty(platform_value) + { requirements = self.loader.parse_links( "__root__", "1.0.0", Link::TYPE_REQUIRE, - match platform_value.unwrap() { + match platform_value { PhpMixed::Array(m) => m.iter().map(|(k, v)| (k.clone(), v.clone())).collect(), _ => IndexMap::new(), }, @@ -315,14 +320,14 @@ impl Locker { let platform_dev_value = lock_data.get("platform-dev"); if with_dev_reqs - && platform_dev_value.is_some() - && !shirabe_php_shim::empty(platform_dev_value.unwrap()) + && let Some(platform_dev_value) = platform_dev_value + && !shirabe_php_shim::empty(platform_dev_value) { let dev_requirements = self.loader.parse_links( "__root__", "1.0.0", Link::TYPE_REQUIRE, - match platform_dev_value.unwrap() { + match platform_dev_value { PhpMixed::Array(m) => m.iter().map(|(k, v)| (k.clone(), v.clone())).collect(), _ => IndexMap::new(), }, @@ -730,7 +735,7 @@ impl Locker { return Err(LogicException { message: format!( "Package \"{}\" has no version or name and can not be locked", - package.to_string(), + package, ), code: 0, } @@ -953,14 +958,11 @@ impl Locker { for provider_link in provider_links.values() { if provider_link.get_target() == link.get_target() { description = format!( - "{} as {} by {}", + "{} as {} by {} {}", verb, - provider_link.get_pretty_constraint().to_string(), - format!( - "{} {}", - provider.get_pretty_name(), - provider.get_pretty_version() - ), + provider_link.get_pretty_constraint(), + provider.get_pretty_name(), + provider.get_pretty_version(), ); break 'outer; } diff --git a/crates/shirabe/src/package/version/version_guesser.rs b/crates/shirabe/src/package/version/version_guesser.rs index 5745d68..c5bf4c2 100644 --- a/crates/shirabe/src/package/version/version_guesser.rs +++ b/crates/shirabe/src/package/version/version_guesser.rs @@ -3,13 +3,11 @@ use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; -use shirabe_external_packages::symfony::process::Process; use shirabe_php_shim::{ PHP_INT_MAX, PhpMixed, RuntimeException, array_keys, array_map, array_merge, empty, function_exists, implode, is_string, json_encode, preg_quote, str_replace, strlen, strnatcasecmp, strpos, substr, trim, usort, }; -use shirabe_semver::VersionParser as SemverVersionParser; use crate::config::Config; use crate::io::IOInterface; @@ -415,7 +413,7 @@ impl VersionGuesser { array_map(|k: &String| k.clone(), &array_keys(&driver.get_branches()?)); // try to find the best (nearest) version branch to assume this feature's version - let mut result = self.guess_feature_version( + let result = self.guess_feature_version( package_config, Some(version.clone()), branches, @@ -687,16 +685,13 @@ impl VersionGuesser { let m1 = matches.get(1).cloned().unwrap_or_default(); let m2 = matches.get(2).cloned(); let m3 = matches.get(3).cloned(); - if m2.is_some() - && m3.is_some() - && (branches_path == *m2.as_ref().unwrap() - || tags_path == *m2.as_ref().unwrap()) + if let Some(m2) = m2.as_ref() + && let Some(m3) = m3.as_ref() + && (branches_path == *m2 || tags_path == *m2) { // we are in a branches path - let version = self - .version_parser - .normalize_branch(m3.as_deref().unwrap())?; - let pretty_version = format!("dev-{}", m3.as_ref().unwrap()); + let version = self.version_parser.normalize_branch(m3)?; + let pretty_version = format!("dev-{}", m3); return Ok(Some(VersionData { version: Some(version), diff --git a/crates/shirabe/src/package/version/version_selector.rs b/crates/shirabe/src/package/version/version_selector.rs index 0d69132..793dd4e 100644 --- a/crates/shirabe/src/package/version/version_selector.rs +++ b/crates/shirabe/src/package/version/version_selector.rs @@ -1,7 +1,6 @@ //! ref: composer/src/Composer/Package/Version/VersionSelector.php use crate::io::io_interface; -use std::any::Any; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; @@ -139,7 +138,7 @@ impl VersionSelector { let mut already_seen_names: IndexMap<String, bool> = IndexMap::new(); let mut found_package: Option<crate::package::PackageInterfaceHandle> = None; - 'pkgs: for pkg in candidates.iter() { + for pkg in candidates.iter() { let reqs = pkg.get_requires(); let mut skip = false; 'reqs: for (name, link) in &reqs { |
