summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRachel Powers <508861+Ryex@users.noreply.github.com>2023-05-13 20:06:22 -0700
committerRachel Powers <508861+Ryex@users.noreply.github.com>2023-06-16 21:15:37 -0700
commit19b046d235d7599ae4f75c3a7ed5715ecf51d02f (patch)
tree9d4d82b0b61dc6b780e85760e966b4f54182504a
parentacc6a4cd95d06327d93ca44578a998f5dac89c17 (diff)
downloadProject-Tick-19b046d235d7599ae4f75c3a7ed5715ecf51d02f.tar.gz
Project-Tick-19b046d235d7599ae4f75c3a7ed5715ecf51d02f.zip
don't track azul java verisons older than java 8
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
-rw-r--r--generateJava.py43
-rw-r--r--meta/model/java.py29
-rw-r--r--updateJava.py17
3 files changed, 50 insertions, 39 deletions
diff --git a/generateJava.py b/generateJava.py
index 5e3420bfb4..b32b786847 100644
--- a/generateJava.py
+++ b/generateJava.py
@@ -24,7 +24,7 @@ from meta.model.java import (
AdoptiumReleases,
AdoptiumRelease,
AdoptiumBinary,
- ZuluPackages,
+ ZuluPackageList,
ZuluPackageDetail,
AzulArch,
)
@@ -135,7 +135,8 @@ def mojang_runtime_to_java_runtime(
if major and security:
version_parts = [int(major), 0, int(security)]
else:
- version_parts = [int(part) for part in mojang_runtime.version.name.split(".")]
+ version_parts = [int(part)
+ for part in mojang_runtime.version.name.split(".")]
while len(version_parts) < 3:
version_parts.append(0)
@@ -170,7 +171,7 @@ def adoptium_release_binary_to_java_runtime(
rls: AdoptiumRelease, binary: AdoptiumBinary
) -> JavaRuntimeMeta:
assert binary.package is not None
-
+
checksum = None
if binary.package.checksum is not None:
checksum = JavaChecksumMeta(
@@ -178,7 +179,7 @@ def adoptium_release_binary_to_java_runtime(
)
pkg_type = JavaPackageType(str(binary.image_type))
-
+
version = JavaVersionMeta(
major=rls.version_data.major if rls.version_data.major is not None else 0,
minor=rls.version_data.minor if rls.version_data.minor is not None else 0,
@@ -205,7 +206,7 @@ def azul_package_to_java_runtime(pkg: ZuluPackageDetail) -> JavaRuntimeMeta:
build = None
while len(version_parts) < 3:
version_parts.append(0)
-
+
if len(version_parts) >= 4:
build = version_parts[3]
@@ -266,9 +267,10 @@ def pkg_type_priority(pkg_type: JavaPackageType) -> int:
else:
return -1
+
def ensure_one_recommended(runtimes: list[JavaRuntimeMeta]) -> Optional[JavaRuntimeMeta]:
if len(runtimes) < 1:
- return None# can't do anything
+ return None # can't do anything
recommended: Optional[JavaRuntimeMeta] = None
found_first = False
@@ -282,12 +284,11 @@ def ensure_one_recommended(runtimes: list[JavaRuntimeMeta]) -> Optional[JavaRunt
need_resort = True
if recommended and not need_resort:
- return recommended # we have one recommended already
+ return recommended # we have one recommended already
if recommended is None:
recommended = runtimes[0]
-
def better_java_runtime(runtime: JavaRuntimeMeta):
assert recommended is not None
if vendor_priority(runtime.vendor) < vendor_priority(recommended.vendor):
@@ -318,7 +319,8 @@ def main():
def add_java_runtime(runtime: JavaRuntimeMeta, major: int, java_os: JavaRuntimeOS):
ensure_javamap(major)
- print(f"Regestering runtime: {runtime.name} for Java {major} {java_os}")
+ print(
+ f"Regestering runtime: {runtime.name} for Java {major} {java_os}")
javas[major][java_os].append(runtime)
print("Processing Mojang Javas")
@@ -347,7 +349,8 @@ def main():
)
for major in adoptium_available_releases.available_releases:
adoptium_releases = AdoptiumReleases.parse_file(
- os.path.join(UPSTREAM_DIR, ADOPTIUM_VERSIONS_DIR, f"java{major}.json")
+ os.path.join(UPSTREAM_DIR, ADOPTIUM_VERSIONS_DIR,
+ f"java{major}.json")
)
for _, rls in adoptium_releases:
for binary in rls.binaries:
@@ -356,7 +359,8 @@ def main():
binary_arch = translate_arch(str(binary.architecture))
binary_os = translate_os(str(binary.os))
if binary_arch is None or binary_os is None:
- print(f"Ignoring release for {binary.os} {binary.architecture}")
+ print(
+ f"Ignoring release for {binary.os} {binary.architecture}")
continue
java_os = JavaRuntimeOS(f"{binary_os}-{binary_arch}")
@@ -364,17 +368,22 @@ def main():
add_java_runtime(runtime, major, java_os)
print("Processing Azul Packages")
- azul_packages = ZuluPackages.parse_file(
+ azul_packages = ZuluPackageList.parse_file(
os.path.join(UPSTREAM_DIR, AZUL_DIR, "packages.json")
)
for _, pkg in azul_packages:
pkg_detail = ZuluPackageDetail.parse_file(
- os.path.join(UPSTREAM_DIR, AZUL_VERSIONS_DIR, f"{pkg.package_uuid}.json")
+ os.path.join(UPSTREAM_DIR, AZUL_VERSIONS_DIR,
+ f"{pkg.package_uuid}.json")
)
major = pkg_detail.java_version[0]
+ if major < 8:
+ continue # we will never need java versions less than 8
+
pkg_os = translate_os(str(pkg_detail.os))
if pkg_detail.arch == AzulArch.Arm:
- pkg_arch = translate_arch(f"{pkg_detail.arch}{pkg_detail.hw_bitness}")
+ pkg_arch = translate_arch(
+ f"{pkg_detail.arch}{pkg_detail.hw_bitness}")
elif pkg_detail.arch == AzulArch.X86:
pkg_arch = translate_arch(int(pkg_detail.hw_bitness))
else:
@@ -391,12 +400,14 @@ def main():
for major, runtimes in javas.items():
for java_os, runtime_list in runtimes:
- print(f"Total runtimes for Java {major} {java_os}:", len(runtime_list))
+ print(f"Total runtimes for Java {major} {java_os}:", len(
+ runtime_list))
rec = ensure_one_recommended(runtime_list)
if rec is not None:
print(f"Recomending {rec.name} for Java {major} {java_os}")
- runtimes_file = os.path.join(LAUNCHER_DIR, JAVA_COMPONENT, f"java{major}.json")
+ runtimes_file = os.path.join(
+ LAUNCHER_DIR, JAVA_COMPONENT, f"java{major}.json")
runtimes.write(runtimes_file)
diff --git a/meta/model/java.py b/meta/model/java.py
index d234b6cf59..ac224fe16c 100644
--- a/meta/model/java.py
+++ b/meta/model/java.py
@@ -13,7 +13,7 @@ from functools import total_ordering
class JavaRuntimeOS(StrEnum):
MacOsX64 = "mac-os-x64"
- MacOsX86 = "mac-os-x86" # rare
+ MacOsX86 = "mac-os-x86" # rare
MacOsArm64 = "mac-os-arm64"
# MacOsArm32 = "mac-os-arm32" # doesn't exsist
LinuxX64 = "linux-x64"
@@ -31,6 +31,7 @@ class JavaRuntimeDownloadType(StrEnum):
Manifest = "manifest"
Archive = "archive"
+
@total_ordering
class JavaVersionMeta(MetaBase):
major: int
@@ -44,16 +45,16 @@ class JavaVersionMeta(MetaBase):
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: Any):
return (self.to_tuple() == other.to_tuple())
-
+
def __lt__(self, other: 'JavaVersionMeta'):
return (self.to_tuple() < other.to_tuple())
@@ -72,6 +73,7 @@ class JavaPackageType(StrEnum):
Jre = "jre"
Jdk = "jdk"
+
class JavaRuntimeMeta(MetaBase):
name: str
vendor: str
@@ -92,7 +94,7 @@ class JavaRuntimeMap(MetaBase):
def __iter__(self) -> Generator[tuple[str, list[JavaRuntimeMeta]], None, None]:
yield from ((str(os), runtime) for os, runtime in self.__root__.items())
- def __getitem__(self, item:JavaRuntimeOS) -> list[JavaRuntimeMeta]:
+ def __getitem__(self, item: JavaRuntimeOS) -> list[JavaRuntimeMeta]:
return self.__root__[item]
def __len__(self):
@@ -303,9 +305,8 @@ class AdoptiumRelease(MetaBase):
class AdoptiumReleases(MetaBase):
__root__: list[AdoptiumRelease]
- def __iter__(self) -> Generator[tuple[str, AdoptiumRelease], None, None]:
+ def __iter__(self) -> Generator[tuple[str, AdoptiumRelease], None, None]:
yield from ((str(i), val) for i, val in enumerate(self.__root__))
-
def __getitem__(self, item: int) -> AdoptiumRelease:
return self.__root__[item]
@@ -518,7 +519,7 @@ class ZuluPackageDetail(MetaBase):
signatures: list[ZuluSignatureDetail]
-class ZuluPackageList(MetaBase):
+class ZuluPackage(MetaBase):
package_uuid: str
name: Optional[str]
java_version: list[int]
@@ -530,23 +531,23 @@ class ZuluPackageList(MetaBase):
availability_type: Optional[AzulAvailabilityType]
-class ZuluPackages(MetaBase):
- __root__: list[ZuluPackageList]
+class ZuluPackageList(MetaBase):
+ __root__: list[ZuluPackage]
- def __iter__(self) -> Generator[tuple[str, ZuluPackageList], None, None]:
+ def __iter__(self) -> Generator[tuple[str, ZuluPackage], None, None]:
yield from ((str(i), val) for i, val in enumerate(self.__root__))
- def __getitem__(self, item: int) -> ZuluPackageList:
+ def __getitem__(self, item: int) -> ZuluPackage:
return self.__root__[item]
- def append(self, pkg: ZuluPackageList):
+ def append(self, pkg: ZuluPackage):
self.__root__.append(pkg)
class ZuluPackagesDetail(MetaBase):
__root__: list[ZuluPackageDetail]
- def __iter__(self) -> Generator[tuple[str, ZuluPackageDetail], None, None]:
+ def __iter__(self) -> Generator[tuple[str, ZuluPackageDetail], None, None]:
yield from ((str(i), val) for i, val in enumerate(self.__root__))
def __getitem__(self, item: int) -> ZuluPackageDetail:
diff --git a/updateJava.py b/updateJava.py
index 4d174c9d5d..70862b9f55 100644
--- a/updateJava.py
+++ b/updateJava.py
@@ -18,8 +18,8 @@ from meta.model.java import (
AdoptiumReleases,
azulApiPackagesUrl,
AzulApiPackagesQuery,
+ ZuluPackage,
ZuluPackageList,
- ZuluPackages,
AzulArchiveType,
AzulReleaseStatus,
AzulAvailabilityType,
@@ -54,7 +54,7 @@ def main():
for feature in available.available_releases:
print("Getting Manifests for Adoptium feature release:", feature)
-
+
page_size = 10
releases_for_feature: list[AdoptiumRelease] = []
@@ -76,7 +76,7 @@ def main():
if len(r_rls.json()) < page_size:
break
page += 1
-
+
page = 0
while True:
query = AdoptiumAPIFeatureReleasesQuery(
@@ -103,7 +103,7 @@ def main():
releases.write(feature_file)
print("Getting Azul Release Manifests")
- zulu_packages: list[ZuluPackageList] = []
+ zulu_packages: list[ZuluPackage] = []
page = 1
page_size = 100
while True:
@@ -125,14 +125,14 @@ def main():
else:
r.raise_for_status()
- packages = list(ZuluPackageList(**pkg) for pkg in r.json())
+ packages = list(ZuluPackage(**pkg) for pkg in r.json())
zulu_packages.extend(packages)
if len(packages) < page_size:
break
page += 1
print("Total Azul Packages:", len(zulu_packages))
- packages = ZuluPackages(__root__=zulu_packages)
+ packages = ZuluPackageList(__root__=zulu_packages)
azul_manifest_file = os.path.join(UPSTREAM_DIR, AZUL_DIR, "packages.json")
packages.write(azul_manifest_file)
@@ -142,9 +142,8 @@ def main():
major_version = pkg.java_version[0]
if major_version not in azul_major_versions:
- azul_major_versions[major_version] = ZuluPackagesDetail(__root__=[])
-
-
+ azul_major_versions[major_version] = ZuluPackagesDetail(
+ __root__=[])
pkg_file = os.path.join(
UPSTREAM_DIR, AZUL_VERSIONS_DIR, f"{pkg.package_uuid}.json")