summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/primitives/string.py
diff options
context:
space:
mode:
authorCharles Brunet <charles.brunet@optelgroup.com>2025-01-09 17:00:09 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2025-01-27 01:27:03 +0200
commit6ee583e119b432fee03f908547729d5da030397e (patch)
tree0846a0ed84b6a0c27ec0610c55ccc1ee8786e6b2 /mesonbuild/interpreter/primitives/string.py
parentaecff97e186f40575944c923bb9c43a39fe9708b (diff)
downloadmeson-6ee583e119b432fee03f908547729d5da030397e.tar.gz
allow to compare multiple version with version_compare
Diffstat (limited to 'mesonbuild/interpreter/primitives/string.py')
-rw-r--r--mesonbuild/interpreter/primitives/string.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/primitives/string.py b/mesonbuild/interpreter/primitives/string.py
index 7cb492da7..a224dfac8 100644
--- a/mesonbuild/interpreter/primitives/string.py
+++ b/mesonbuild/interpreter/primitives/string.py
@@ -7,7 +7,7 @@ import os
import typing as T
-from ...mesonlib import version_compare
+from ...mesonlib import version_compare, version_compare_many
from ...interpreterbase import (
ObjectHolder,
MesonOperator,
@@ -169,9 +169,11 @@ class StringHolder(ObjectHolder[str]):
return re.sub(r'[^a-zA-Z0-9]', '_', self.held_object)
@noKwargs
- @typed_pos_args('str.version_compare', str)
- def version_compare_method(self, args: T.Tuple[str], kwargs: TYPE_kwargs) -> bool:
- return version_compare(self.held_object, args[0])
+ @typed_pos_args('str.version_compare', varargs=str, min_varargs=1)
+ def version_compare_method(self, args: T.Tuple[T.List[str]], kwargs: TYPE_kwargs) -> bool:
+ if len(args[0]) > 1:
+ FeatureNew.single_use('version_compare() with multiple arguments', '1.8.0', self.subproject, location=self.current_node)
+ return version_compare_many(self.held_object, args[0])[0]
@staticmethod
def _op_div(this: str, other: str) -> str: