diff options
| author | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-05-13 20:06:22 -0700 |
|---|---|---|
| committer | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-06-16 21:15:37 -0700 |
| commit | 19b046d235d7599ae4f75c3a7ed5715ecf51d02f (patch) | |
| tree | 9d4d82b0b61dc6b780e85760e966b4f54182504a | |
| parent | acc6a4cd95d06327d93ca44578a998f5dac89c17 (diff) | |
| download | Project-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.py | 43 | ||||
| -rw-r--r-- | meta/model/java.py | 29 | ||||
| -rw-r--r-- | updateJava.py | 17 |
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") |
