aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/package')
-rw-r--r--crates/shirabe/src/package/alias_package.rs1
-rw-r--r--crates/shirabe/src/package/archiver/archive_manager.rs2
-rw-r--r--crates/shirabe/src/package/loader/array_loader.rs28
-rw-r--r--crates/shirabe/src/package/loader/root_package_loader.rs9
-rw-r--r--crates/shirabe/src/package/loader/validating_array_loader.rs6
-rw-r--r--crates/shirabe/src/package/locker.rs42
-rw-r--r--crates/shirabe/src/package/version/version_guesser.rs17
-rw-r--r--crates/shirabe/src/package/version/version_selector.rs3
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 {