diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-06-03 23:28:55 +0200 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-08-01 07:55:49 -0700 |
| commit | 164c1284dac7b51c57ba6e013c4a9865c0315258 (patch) | |
| tree | 439381abeb24389c6379a017a75ee2e13ddd3576 /mesonbuild/cargo/version.py | |
| parent | 09e547fcf289463c5163d2b0fe17a2e2ddf92a33 (diff) | |
| download | meson-164c1284dac7b51c57ba6e013c4a9865c0315258.tar.gz | |
cargo: create dataclasses for Cargo.lock
Start introducing a new simpler API for conversion of TypedDicts to
dataclasses, and use it already for Cargo.lock.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/cargo/version.py')
| -rw-r--r-- | mesonbuild/cargo/version.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mesonbuild/cargo/version.py b/mesonbuild/cargo/version.py index cde7a83a3..51ce79b04 100644 --- a/mesonbuild/cargo/version.py +++ b/mesonbuild/cargo/version.py @@ -7,6 +7,18 @@ from __future__ import annotations import typing as T +def api(version: str) -> str: + # x.y.z -> x + # 0.x.y -> 0.x + # 0.0.x -> 0 + vers = version.split('.') + if int(vers[0]) != 0: + return vers[0] + elif len(vers) >= 2 and int(vers[1]) != 0: + return f'0.{vers[1]}' + return '0' + + def convert(cargo_ver: str) -> T.List[str]: """Convert a Cargo compatible version into a Meson compatible one. |
