From 1b8d9d408c71453ccd5afc130f7b1da8df254dbc Mon Sep 17 00:00:00 2001 From: Rachel Powers <508861+Ryex@users.noreply.github.com> Date: Thu, 11 May 2023 02:10:12 -0700 Subject: fix: ensure there is a recomended version Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> --- meta/model/java.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'meta/model/java.py') diff --git a/meta/model/java.py b/meta/model/java.py index a7907d90d2..ca45085ea3 100644 --- a/meta/model/java.py +++ b/meta/model/java.py @@ -8,7 +8,7 @@ from .enum import StrEnum from typing import Optional, List, Dict, Any, Iterator, Iterable, NamedTuple from collections import namedtuple from urllib.parse import urljoin, urlencode, urlparse, urlunparse - +from functools import total_ordering # namedtuple to match the internal signature of urlunparse @@ -32,18 +32,31 @@ class JavaRuntimeDownloadType(StrEnum): Manifest = "manifest" Archive = "archive" - +@total_ordering class JavaVersionMeta(MetaBase): major: int minor: int security: int - build: Optional[int] + build: Optional[int] = None + name: Optional[str] = None def __str__(self): ver = f"{self.major}.{self.minor}.{self.security}" if self.build is not None: ver = f"{ver}+{self.build}" return ver + + def to_tuple(self): + build = 0 + if self.build is not None: + build = self.build + return (self.major, self.minor, self.security, build) + + def __eq__(self, other: 'JavaVersionMeta'): + return (self.to_tuple() == other.to_tuple()) + + def __lt__(self, other: 'JavaVersionMeta'): + return (self.to_tuple() < other.to_tuple()) class JavaChecksumType(StrEnum): @@ -64,6 +77,7 @@ class JavaRuntimeMeta(MetaBase): checksum: Optional[JavaChecksumMeta] recomended: bool download_type: JavaRuntimeDownloadType = Field(alias="downloadType") + version: JavaVersionMeta class JavaRuntimeMap(MetaBase): -- cgit 0.0.5-2-1-g0f52