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/loader/root_package_loader.rs17
-rw-r--r--crates/shirabe/src/package/locker.rs28
-rw-r--r--crates/shirabe/src/package/version/version_bumper.rs6
-rw-r--r--crates/shirabe/src/package/version/version_guesser.rs67
4 files changed, 48 insertions, 70 deletions
diff --git a/crates/shirabe/src/package/loader/root_package_loader.rs b/crates/shirabe/src/package/loader/root_package_loader.rs
index bbcf294f..b7216c62 100644
--- a/crates/shirabe/src/package/loader/root_package_loader.rs
+++ b/crates/shirabe/src/package/loader/root_package_loader.rs
@@ -15,7 +15,7 @@ use crate::repository::RepositoryManager;
use crate::util::Platform;
use crate::util::ProcessExecutor;
use indexmap::IndexMap;
-use shirabe_pcre::{CaptureKey, Preg, PregMatchedGroups};
+use shirabe_pcre::{CaptureKey, Preg};
use shirabe_php_shim::{
PhpMixed, RuntimeException, UnexpectedValueException, php_regex, preg_split, strtolower,
};
@@ -252,11 +252,9 @@ impl RootPackageLoader {
mut aliases: Vec<IndexMap<String, String>>,
) -> Vec<IndexMap<String, String>> {
for (req_name, req_version) in requires {
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(
+ if let Some(m) = Preg::is_match3(
php_regex!(r"{(?:^|\| *|, *)([^,\s#|]+)(?:#[^ ]+)? +as +([^,\s|]+)(?:$| *\|| *,)}"),
req_version,
- Some(&mut m),
) {
let m1 = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
let m2 = m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default();
@@ -318,8 +316,7 @@ impl RootPackageLoader {
let mut matched = false;
for constraint in &constraints {
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(&pattern, constraint, Some(&mut m)) {
+ if let Some(m) = Preg::is_match3(&pattern, constraint) {
let name = strtolower(req_name);
let m1 = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
let normalized_m1 = VersionParser::normalize_stability(&m1).unwrap_or_default();
@@ -365,12 +362,8 @@ impl RootPackageLoader {
) -> IndexMap<String, String> {
for (req_name, req_version) in requires {
let req_version = Preg::replace(php_regex!(r"{^([^,\s@]+) as .+$}"), "$1", req_version);
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(
- php_regex!(r"{^[^,\s@]+?#([a-f0-9]+)$}"),
- &req_version,
- Some(&mut m),
- ) && VersionParser::parse_stability(&req_version) == "dev"
+ if let Some(m) = Preg::is_match3(php_regex!(r"{^[^,\s@]+?#([a-f0-9]+)$}"), &req_version)
+ && VersionParser::parse_stability(&req_version) == "dev"
{
let name = strtolower(req_name);
references.insert(
diff --git a/crates/shirabe/src/package/locker.rs b/crates/shirabe/src/package/locker.rs
index 5c99b967..6e7145ae 100644
--- a/crates/shirabe/src/package/locker.rs
+++ b/crates/shirabe/src/package/locker.rs
@@ -24,7 +24,7 @@ use crate::repository::RootPackageRepository;
use crate::util::Git as GitUtil;
use crate::util::ProcessExecutor;
use indexmap::IndexMap;
-use shirabe_pcre::{CaptureKey, Preg, PregMatchedGroups};
+use shirabe_pcre::{CaptureKey, Preg};
use shirabe_php_shim::Catch as _;
use shirabe_php_shim::{
DATE_RFC3339, LogicException, PhpMixed, RuntimeException, array_intersect, array_keys,
@@ -843,21 +843,17 @@ impl Locker {
]),
&mut output,
path.as_deref(),
- )? {
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(
- php_regex!(r"{^\s*(\d+)\s*}"),
- output.as_string().unwrap_or(""),
- Some(&mut m),
- ) {
- let ts = m
- .get(&CaptureKey::ByIndex(1))
- .cloned()
- .unwrap_or_default()
- .parse::<i64>()
- .unwrap_or(0);
- datetime = chrono::DateTime::from_timestamp(ts, 0);
- }
+ )? && let Some(m) = Preg::is_match3(
+ php_regex!(r"{^\s*(\d+)\s*}"),
+ output.as_string().unwrap_or(""),
+ ) {
+ let ts = m
+ .get(&CaptureKey::ByIndex(1))
+ .cloned()
+ .unwrap_or_default()
+ .parse::<i64>()
+ .unwrap_or(0);
+ datetime = chrono::DateTime::from_timestamp(ts, 0);
}
}
_ => {}
diff --git a/crates/shirabe/src/package/version/version_bumper.rs b/crates/shirabe/src/package/version/version_bumper.rs
index dbeff6a0..6911fb14 100644
--- a/crates/shirabe/src/package/version/version_bumper.rs
+++ b/crates/shirabe/src/package/version/version_bumper.rs
@@ -5,7 +5,7 @@ use crate::package::dumper::ArrayDumper;
use crate::package::loader::ArrayLoader;
use crate::package::version::VersionParser;
use crate::util::Platform;
-use shirabe_pcre::{CaptureKey, Preg, PregMatchesAllWithOffsets};
+use shirabe_pcre::{CaptureKey, Preg};
use shirabe_php_shim::php_regex;
use shirabe_semver::Intervals;
use shirabe_semver::constraint::AnyConstraint;
@@ -77,8 +77,8 @@ impl VersionBumper {
major = major
);
- let mut matches = PregMatchesAllWithOffsets::new();
- if Preg::is_match_all_with_offsets3(&pattern, &pretty_constraint, Some(&mut matches)) {
+ let matches = Preg::is_match_all_with_offsets3(&pattern, &pretty_constraint);
+ if matches.occurrence_count() > 0 {
let mut modified = pretty_constraint.clone();
let constraint_matches = matches
.get(&CaptureKey::ByName("constraint".to_string()))
diff --git a/crates/shirabe/src/package/version/version_guesser.rs b/crates/shirabe/src/package/version/version_guesser.rs
index 4b5187f2..14fcf5f6 100644
--- a/crates/shirabe/src/package/version/version_guesser.rs
+++ b/crates/shirabe/src/package/version/version_guesser.rs
@@ -12,7 +12,7 @@ use crate::util::ProcessExecutor;
use crate::util::Svn as SvnUtil;
use crate::util::sync_executor;
use indexmap::IndexMap;
-use shirabe_pcre::{CaptureKey, Preg, PregMatchedGroups};
+use shirabe_pcre::{CaptureKey, Preg};
use shirabe_php_shim::{
PhpMixed, RuntimeException, array_keys, array_map, array_merge, empty, function_exists,
implode, is_string, json_encode, php_regex, preg_quote, str_replace, strlen, strnatcasecmp,
@@ -228,49 +228,43 @@ impl VersionGuesser {
// find current branch and collect all branch names
for branch in self.process.borrow().split_lines(&output) {
- if !branch.is_empty() {
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(
+ if !branch.is_empty()
+ && let Some(m) = Preg::is_match3(
php_regex!(
r"{^(?:\* ) *(\(no branch\)|\(detached from \S+\)|\(HEAD detached at \S+\)|\S+) *([a-f0-9]+) .*$}"
),
&branch,
- Some(&mut m),
- ) {
- let g1 = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
- let g2 = m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default();
- if g1 == "(no branch)"
- || strpos(&g1, "(detached ") == Some(0)
- || strpos(&g1, "(HEAD detached at") == Some(0)
- {
- version = Some(format!("dev-{}", g2));
- pretty_version = version.clone();
- is_feature_branch = true;
- is_detached = true;
- } else {
- version = Some(self.version_parser.normalize_branch(&g1)?);
- pretty_version = Some(format!("dev-{}", g1));
- is_feature_branch = self.is_feature_branch(package_config, Some(&g1));
- }
-
- commit = Some(g2);
+ )
+ {
+ let g1 = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
+ let g2 = m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default();
+ if g1 == "(no branch)"
+ || strpos(&g1, "(detached ") == Some(0)
+ || strpos(&g1, "(HEAD detached at") == Some(0)
+ {
+ version = Some(format!("dev-{}", g2));
+ pretty_version = version.clone();
+ is_feature_branch = true;
+ is_detached = true;
+ } else {
+ version = Some(self.version_parser.normalize_branch(&g1)?);
+ pretty_version = Some(format!("dev-{}", g1));
+ is_feature_branch = self.is_feature_branch(package_config, Some(&g1));
}
+
+ commit = Some(g2);
}
- if !branch.is_empty() && {
- let mut tmp = PregMatchedGroups::new();
- !Preg::is_match3(php_regex!(r"{^ *.+/HEAD }"), &branch, Some(&mut tmp))
- } {
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(
+ if !branch.is_empty()
+ && Preg::is_match3(php_regex!(r"{^ *.+/HEAD }"), &branch).is_none()
+ && let Some(m) = Preg::is_match3(
php_regex!(
r"{^(?:\* )? *((?:remotes/(?:origin|upstream)/)?[^\s/]+) *([a-f0-9]+) .*$}"
),
&branch,
- Some(&mut m),
- ) {
- branches.push(m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default());
- }
+ )
+ {
+ branches.push(m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default());
}
}
@@ -756,12 +750,7 @@ impl VersionGuesser {
.into());
}
};
- let mut m = PregMatchedGroups::new();
- if Preg::is_match3(
- php_regex!(r"{^(\d+(?:\.\d+)*)-dev$}i"),
- &version,
- Some(&mut m),
- ) {
+ if let Some(m) = Preg::is_match3(php_regex!(r"{^(\d+(?:\.\d+)*)-dev$}i"), &version) {
return Ok(format!(
"{}.x-dev",
m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default()