aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/version
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/package/version')
-rw-r--r--crates/shirabe/src/package/version/version_bumper.rs6
-rw-r--r--crates/shirabe/src/package/version/version_guesser.rs67
2 files changed, 31 insertions, 42 deletions
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()