From b8204c80bd9f425bb02c24952260cdbca709f90a Mon Sep 17 00:00:00 2001 From: lucasdpt Date: Wed, 17 Jun 2026 20:30:01 +0200 Subject: [PATCH] feat: add java update for linux --- src/main/java.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java.ts b/src/main/java.ts index 6012b39..549594b 100644 --- a/src/main/java.ts +++ b/src/main/java.ts @@ -20,6 +20,7 @@ import { emit } from './events' */ const JAVA_MAJOR = 21 +const JAVA_MAX = 21 const MARKER = (): string => join(paths.javaDir, 'managed.json') /** Exécute ` -version` et renvoie la version majeure (ex. 21), ou null. */ @@ -74,7 +75,7 @@ async function findSystemJava(): Promise { for (const c of candidates) { if (!existsSync(c)) continue const major = await javaMajorVersion(c) - if (major !== null && major >= JAVA_MAJOR) return c + if (major !== null && major >= JAVA_MAJOR && major <= JAVA_MAX) return c } return null } @@ -147,7 +148,12 @@ export async function ensureJava(): Promise { if (existsSync(MARKER())) { try { const { javaPath } = JSON.parse(await readFile(MARKER(), 'utf-8')) as { javaPath: string } - if (javaPath && existsSync(javaPath)) return javaPath + if (javaPath && existsSync(javaPath)) { + const major = await javaMajorVersion(javaPath) + if (major !== null && major >= JAVA_MAJOR && major <= JAVA_MAX) return javaPath + // Version hors plage (ex: Java 22+) : invalider le cache et re-détecter + await rm(MARKER(), { force: true }) + } } catch { /* marqueur corrompu : on réinstalle */ }