aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/version
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-19 00:10:22 +0900
committernsfisis <nsfisis@gmail.com>2026-05-19 00:11:03 +0900
commitc839244d8d09f3036ebfee8eef7eb6b147e593ab (patch)
treefe48c94f2c2e62468beef5ff1a8f3cff6adeef4f /crates/shirabe/src/package/version
parent48839250146b217e2756ed3c0e624fd341b54d6c (diff)
downloadphp-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.gz
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.zst
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.zip
fix(compile): fix various compile errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/package/version')
-rw-r--r--crates/shirabe/src/package/version/stability_filter.rs4
-rw-r--r--crates/shirabe/src/package/version/version_bumper.rs12
-rw-r--r--crates/shirabe/src/package/version/version_parser.rs22
3 files changed, 32 insertions, 6 deletions
diff --git a/crates/shirabe/src/package/version/stability_filter.rs b/crates/shirabe/src/package/version/stability_filter.rs
index d08492c..5053e9d 100644
--- a/crates/shirabe/src/package/version/stability_filter.rs
+++ b/crates/shirabe/src/package/version/stability_filter.rs
@@ -1,6 +1,6 @@
//! ref: composer/src/Composer/Package/Version/StabilityFilter.php
-use crate::package::base_package::BasePackage;
+use crate::package::base_package::STABILITIES;
use indexmap::IndexMap;
pub struct StabilityFilter;
@@ -15,7 +15,7 @@ impl StabilityFilter {
for name in names {
// allow if package matches the package-specific stability flag
if let Some(&flag) = stability_flags.get(name) {
- if let Some(&stability_value) = BasePackage::STABILITIES.get(stability) {
+ if let Some(&stability_value) = STABILITIES.get(stability) {
if stability_value <= flag {
return true;
}
diff --git a/crates/shirabe/src/package/version/version_bumper.rs b/crates/shirabe/src/package/version/version_bumper.rs
index 5911458..8963fd6 100644
--- a/crates/shirabe/src/package/version/version_bumper.rs
+++ b/crates/shirabe/src/package/version/version_bumper.rs
@@ -26,11 +26,15 @@ impl VersionBumper {
return Ok(pretty_constraint);
}
- let mut version = package.get_version();
- if package.get_version().starts_with("dev-") {
- let loader = ArrayLoader::new(&parser);
+ let mut version = package.get_version().to_string();
+ if version.starts_with("dev-") {
+ // TODO(phase-b): ArrayLoader::new takes Option<VersionParser> by value; pass None until
+ // VersionParser sharing is reconciled.
+ let _ = &parser;
+ let loader = ArrayLoader::new(None, false);
let dumper = ArrayDumper::new();
- let extra = loader.get_branch_alias(dumper.dump(package));
+ let dumped = dumper.dump(package);
+ let extra = loader.get_branch_alias(&dumped)?;
if extra.is_none() || extra.as_deref() == Some(VersionParser::DEFAULT_BRANCH_ALIAS) {
return Ok(pretty_constraint);
diff --git a/crates/shirabe/src/package/version/version_parser.rs b/crates/shirabe/src/package/version/version_parser.rs
index 6bb1004..6dbf425 100644
--- a/crates/shirabe/src/package/version/version_parser.rs
+++ b/crates/shirabe/src/package/version/version_parser.rs
@@ -74,6 +74,28 @@ impl VersionParser {
Ok(result)
}
+ pub fn new() -> Self {
+ Self {
+ inner: SemverVersionParser,
+ }
+ }
+
+ pub fn normalize(&self, version: &str, full_version: Option<&str>) -> anyhow::Result<String> {
+ self.inner.normalize(version, full_version)
+ }
+
+ pub fn normalize_stability(stability: &str) -> anyhow::Result<String> {
+ SemverVersionParser::normalize_stability(stability)
+ }
+
+ pub fn normalize_branch(&self, name: &str) -> anyhow::Result<String> {
+ self.inner.normalize_branch(name)
+ }
+
+ pub fn parse_stability(version: &str) -> String {
+ SemverVersionParser::parse_stability(version)
+ }
+
pub fn is_upgrade(normalized_from: &str, normalized_to: &str) -> anyhow::Result<bool> {
if normalized_from == normalized_to {
return Ok(true);