дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 11:15:40 +02:00
* fix(java): run jdtls on a new-enough JDK behind Scoop shims and project JAVA_HOME Two ways jdtls ended up on a JDK too old for its bundles (#2227): - jdtls_min_java resolved the command's own path to derive the install root, but a Scoop shim (shims\jdtls.exe) hides the release layout, so the bundles' real requirement fell back to JDTLS_MIN_JAVA (21) while a 1.64 install needs JavaSE 25. Extract the resolve/follow-shim flow from launch_directly into jdtls::script_for and share it. - configure_jdtls only wrote JAVA_HOME when the config had none, so a project JAVA_HOME (JDK 8 for compilation) won over the chosen server_jdk. Probe the configured value: a home too old or incomplete for the server is replaced by server_jdk or any usable JDK; an unresolvable explicit value stays (the user's call). * test(java): compare JDK homes against canonical paths jdk_at reports the canonicalized home (macOS /var -> /private/var, Windows 8.3 short names), which configure_jdtls now writes to JAVA_HOME. Have test_jdk canonicalize too, and assert the runtimes/JAVA_HOME values against the Jdk.home fields instead of raw fixtures.path() joins, which also differ on Windows when the join arg uses forward slashes. * test(jdtls): compare JAVA_HOME against the canonical jdk home test_jdk now canonicalizes home, so the duplicate-versions assertion must compare against server.home rather than the raw tempdir join, which on Windows carries 8.3 short names.