diff options
| author | Trial97 <alexandru.tripon97@gmail.com> | 2024-03-21 20:49:58 +0200 |
|---|---|---|
| committer | Trial97 <alexandru.tripon97@gmail.com> | 2024-03-21 20:49:58 +0200 |
| commit | d996dc2a20c8664b03259cead7c888fd85d9848c (patch) | |
| tree | 930a649605354e90dc629eb7aad27753b49b1625 /generateJava.py | |
| parent | b49bec7a5c34fd97726d9ec69fdd67ac2886a022 (diff) | |
| download | Project-Tick-d996dc2a20c8664b03259cead7c888fd85d9848c.tar.gz Project-Tick-d996dc2a20c8664b03259cead7c888fd85d9848c.zip | |
Force sort after major
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'generateJava.py')
| -rw-r--r-- | generateJava.py | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/generateJava.py b/generateJava.py index 1eabda2098..f584692295 100644 --- a/generateJava.py +++ b/generateJava.py @@ -270,24 +270,35 @@ def pkg_type_priority(pkg_type: JavaPackageType) -> int: def writeJavas(javas: dict[int, list[JavaRuntimeMeta]], uid: str): + def oldest_timestamp(a: datetime.datetime | None, b: datetime.datetime): + if a is None or a > b: + return b + return a + ensure_component_dir(uid) - for major, runtimes in javas.items(): - def newest_timestamp(a: datetime.datetime | None, b: datetime.datetime): - if a is None or a < b: - return b - return a + # small hack to sort the versions after major + javas = dict(sorted(javas.items(), key=lambda item: item[0])) + timestamps: dict[int, datetime.datetime | None] = {} + prevDate: datetime.datetime | None = None + for major, runtimes in javas.items(): + releaseTime = reduce( + oldest_timestamp, + (runtime.release_time for runtime in runtimes), + None, + ) + if prevDate is not None and releaseTime < prevDate: + releaseTime = prevDate + datetime.timedelta(seconds=1) + prevDate = releaseTime + timestamps[major] = releaseTime + for major, runtimes in javas.items(): version_file = os.path.join(LAUNCHER_DIR, uid, f"java{major}.json") java_version = JavaRuntimeVersion( name=f"Java {major}", uid=uid, version=f"java{major}", - releaseTime=reduce( - newest_timestamp, - (runtime.release_time for runtime in runtimes), - None, - ), + releaseTime=timestamps.get(major), runtimes=runtimes, ) java_version.write(version_file) |
