summaryrefslogtreecommitdiff
path: root/meta/model/java.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/model/java.py')
-rw-r--r--meta/model/java.py151
1 files changed, 92 insertions, 59 deletions
diff --git a/meta/model/java.py b/meta/model/java.py
index b941860726..4a7571e491 100644
--- a/meta/model/java.py
+++ b/meta/model/java.py
@@ -18,7 +18,7 @@ class JavaRuntimeOS(StrEnum):
MacOsX64 = "mac-os-x64"
MacOsX86 = "mac-os-x86" # rare
MacOsArm64 = "mac-os-arm64"
- # MacOsArm32 = "mac-os-arm32" # doesn't exsist
+ # MacOsArm32 = "mac-os-arm32" # doesn't exist
LinuxX64 = "linux-x64"
LinuxX86 = "linux-x86"
LinuxArm64 = "linux-arm64"
@@ -123,15 +123,18 @@ class APIQuery(MetaBase):
return urlencode(set_parts, doseq=True)
-class AdoptiumJvmImpl(StrEnum):
- Hostspot = "hotspot"
+# Adoptx refers to both Adoptium (Eclipse Temurin) and AdoptOpenJDK (IBM Semeru Runtime Open Edition)
+class AdoptxJvmImpl(StrEnum):
+ Hotspot = "hotspot"
+ OpenJ9 = "openj9"
-class AdoptiumVendor(StrEnum):
+class AdoptxVendor(StrEnum):
Eclipse = "eclipse"
+ Ibm = "ibm"
-class AdoptiumArchitecture(StrEnum):
+class AdoptxArchitecture(StrEnum):
X64 = "x64"
X86 = "x86"
X32 = "x32"
@@ -144,22 +147,22 @@ class AdoptiumArchitecture(StrEnum):
Riscv64 = "riscv64"
-class AdoptiumReleaseType(StrEnum):
- GenralAccess = "ga"
+class AdoptxReleaseType(StrEnum):
+ GeneralAccess = "ga"
EarlyAccess = "ea"
-class AdoptiumSortMethod(StrEnum):
+class AdoptxSortMethod(StrEnum):
Default = "DEFAULT"
Date = "DATE"
-class AdoptiumSortOrder(StrEnum):
+class AdoptxSortOrder(StrEnum):
Asc = "ASC"
Desc = "DESC"
-class AdoptiumImageType(StrEnum):
+class AdoptxImageType(StrEnum):
Jdk = "jdk"
Jre = "jre"
Testimage = "testimage"
@@ -169,12 +172,12 @@ class AdoptiumImageType(StrEnum):
Sbom = "sbom"
-class AdoptiumHeapSize(StrEnum):
+class AdoptxHeapSize(StrEnum):
Normal = "normal"
Large = "large"
-class AdoptiumProject(StrEnum):
+class AdoptxProject(StrEnum):
Jdk = "jdk"
Valhalla = "valhalla"
Metropolis = "metropolis"
@@ -182,12 +185,12 @@ class AdoptiumProject(StrEnum):
Shenandoah = "shenandoah"
-class AdoptiumCLib(StrEnum):
+class AdoptxCLib(StrEnum):
Musl = "musl"
Glibc = "glibc"
-class AdoptiumOs(StrEnum):
+class AdoptxOs(StrEnum):
Linux = "linux"
Windows = "windows"
Mac = "mac"
@@ -196,43 +199,72 @@ class AdoptiumOs(StrEnum):
AlpineLinux = "alpine-linux"
-ADOPTIUM_API_BASE = " https://api.adoptium.net"
-ADOPTIUM_API_FEATURE_RELEASES = f"{ADOPTIUM_API_BASE}/v3/assets/feature_releases/{{feature_version}}/{{release_type}}"
+ADOPTIUM_API_BASE = "https://api.adoptium.net"
+OPENJ9_API_BASE = " https://api.adoptopenjdk.net"
+ADOPTX_API_FEATURE_RELEASES = f"{{base_url}}/v3/assets/feature_releases/{{feature_version}}/{{release_type}}"
# ?image_type={{image_type}}&heap_size={{heap_size}}&project={{project}}&vendor={{vendor}}&page_size={{page_size}}&page={{page}}&sort_method={{sort_method}}&sort_order={{sort_order}}
-ADOPTIUM_API_AVAILABLE_RELEASES = f"{ADOPTIUM_API_BASE}/v3/info/available_releases"
+ADOPTX_API_AVAILABLE_RELEASES = f"{{base_url}}/v3/info/available_releases"
-class AdoptiumAPIFeatureReleasesQuery(APIQuery):
- architecture: Optional[AdoptiumArchitecture] = None
+class AdoptxAPIFeatureReleasesQuery(APIQuery):
+ architecture: Optional[AdoptxArchitecture] = None
before: Optional[datetime] = None
- c_lib: Optional[AdoptiumCLib] = None
- heap_size: Optional[AdoptiumHeapSize] = AdoptiumHeapSize.Normal
- image_type: Optional[AdoptiumImageType] = None
- jvm_impl: Optional[AdoptiumJvmImpl] = None
- os: Optional[AdoptiumOs] = None
+ c_lib: Optional[AdoptxCLib] = None
+ heap_size: Optional[AdoptxHeapSize] = AdoptxHeapSize.Normal
+ image_type: Optional[AdoptxImageType] = None
+ jvm_impl: Optional[AdoptxJvmImpl] = None
+ os: Optional[AdoptxOs] = None
+ vendor: Optional[AdoptxVendor] = None
page_size: int = 10
page: int = 0
- project: Optional[AdoptiumProject] = AdoptiumProject.Jdk
- sort_method: Optional[AdoptiumSortMethod] = AdoptiumSortMethod.Default
- sort_order: Optional[AdoptiumSortOrder] = AdoptiumSortOrder.Desc
- vendor: Optional[AdoptiumVendor] = AdoptiumVendor.Eclipse
+ project: Optional[AdoptxProject] = AdoptxProject.Jdk
+ sort_method: Optional[AdoptxSortMethod] = AdoptxSortMethod.Default
+ sort_order: Optional[AdoptxSortOrder] = AdoptxSortOrder.Desc
-def adoptiumAPIFeatureReleasesUrl(
- feature: int,
- release_type: AdoptiumReleaseType = AdoptiumReleaseType.GenralAccess,
- query: AdoptiumAPIFeatureReleasesQuery = AdoptiumAPIFeatureReleasesQuery(),
+def adoptxAPIFeatureReleasesUrl(
+ base_url: str,
+ feature_version: int,
+ release_type: AdoptxReleaseType = AdoptxReleaseType.GeneralAccess,
+ query: AdoptxAPIFeatureReleasesQuery = AdoptxAPIFeatureReleasesQuery(),
):
url = urlparse(
- ADOPTIUM_API_FEATURE_RELEASES.format(
- feature_version=feature,
+ ADOPTX_API_FEATURE_RELEASES.format(
+ base_url=base_url,
+ feature_version=feature_version,
release_type=release_type.value,
)
)
return urlunparse(url._replace(query=query.to_query()))
-class AdoptiumAvailableReleases(MetaBase):
+def adoptiumAPIFeatureReleasesUrl(
+ feature_version: int,
+ release_type: AdoptxReleaseType = AdoptxReleaseType.GeneralAccess,
+ query: AdoptxAPIFeatureReleasesQuery = AdoptxAPIFeatureReleasesQuery(),
+):
+ return adoptxAPIFeatureReleasesUrl(
+ feature_version=feature_version,
+ release_type=release_type,
+ query=query,
+ base_url=ADOPTIUM_API_BASE,
+ )
+
+
+def openj9APIFeatureReleasesUrl(
+ feature_version: int,
+ release_type: AdoptxReleaseType = AdoptxReleaseType.GeneralAccess,
+ query: AdoptxAPIFeatureReleasesQuery = AdoptxAPIFeatureReleasesQuery(),
+):
+ return adoptxAPIFeatureReleasesUrl(
+ feature_version=feature_version,
+ release_type=release_type,
+ query=query,
+ base_url=OPENJ9_API_BASE,
+ )
+
+
+class AdoptxAvailableReleases(MetaBase):
available_releases: list[int]
available_lts_releases: list[int]
most_recent_lts: Optional[int]
@@ -241,13 +273,13 @@ class AdoptiumAvailableReleases(MetaBase):
tip_version: Optional[int]
-class AdoptiumFile(MetaBase):
+class AdoptxFile(MetaBase):
name: str
link: str
size: Optional[int]
-class AdoptiumPackage(AdoptiumFile):
+class AdoptxPackage(AdoptxFile):
checksum: Optional[str]
checksum_link: Optional[str]
signature_link: Optional[str]
@@ -255,22 +287,22 @@ class AdoptiumPackage(AdoptiumFile):
# we intentionally omit download_count
-class AdoptiumBinary(MetaBase):
+class AdoptxBinary(MetaBase):
os: str
- architecture: AdoptiumArchitecture
- image_type: AdoptiumImageType
- c_lib: Optional[AdoptiumCLib]
- jvm_impl: AdoptiumJvmImpl
- package: Optional[AdoptiumPackage]
- installer: Optional[AdoptiumPackage]
- heap_size: AdoptiumHeapSize
+ architecture: AdoptxArchitecture
+ image_type: AdoptxImageType
+ c_lib: Optional[AdoptxCLib]
+ jvm_impl: AdoptxJvmImpl
+ package: Optional[AdoptxPackage]
+ installer: Optional[AdoptxPackage]
+ heap_size: AdoptxHeapSize
updated_at: datetime
scm_ref: Optional[str]
- project: AdoptiumProject
+ project: AdoptxProject
# we intentionally omit download_count
-class AdoptiumVersion(MetaBase):
+class AdoptxVersion(MetaBase):
major: Optional[int]
minor: Optional[int]
security: Optional[int]
@@ -283,31 +315,31 @@ class AdoptiumVersion(MetaBase):
optional: Optional[str]
-class AdoptiumRelease(MetaBase):
+class AdoptxRelease(MetaBase):
release_id: str = Field(alias="id")
release_link: str
release_name: str
timestamp: datetime
updated_at: datetime
- binaries: list[AdoptiumBinary]
+ binaries: list[AdoptxBinary]
release_type: str
- vendor: AdoptiumVendor
- version_data: AdoptiumVersion
- source: Optional[AdoptiumFile]
- release_notes: Optional[AdoptiumFile]
+ vendor: AdoptxVendor
+ version_data: AdoptxVersion
+ source: Optional[AdoptxFile]
+ release_notes: Optional[AdoptxFile]
# we intentionally omit download_count
-class AdoptiumReleases(MetaBase):
- __root__: list[AdoptiumRelease]
+class AdoptxReleases(MetaBase):
+ __root__: list[AdoptxRelease]
- def __iter__(self) -> Generator[tuple[str, AdoptiumRelease], None, None]:
+ def __iter__(self) -> Generator[tuple[str, AdoptxRelease], None, None]:
yield from ((str(i), val) for i, val in enumerate(self.__root__))
- def __getitem__(self, item: int) -> AdoptiumRelease:
+ def __getitem__(self, item: int) -> AdoptxRelease:
return self.__root__[item]
- def append(self, rls: AdoptiumRelease):
+ def append(self, rls: AdoptxRelease):
self.__root__.append(rls)
@@ -556,7 +588,8 @@ class ZuluPackagesDetail(MetaBase):
MOJANG_OS_NAMES = ["mac-os", "linux", "windows"]
MOJANG_OS_ARCHITECTURES = [
- "x64" "x86",
+ "x64",
+ "x86",
"arm64",
"arm32",
]