summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPatrick Schiel <[email protected]>2026-01-18 07:30:45 +0100
committerGitHub <[email protected]>2026-01-18 00:30:45 -0600
commit10433cb45b6ed932368fb147032d671eaed0d273 (patch)
tree1ff2640b273ffc97fbcb001d887055ada41713b4
parent073f9d99b58339e15e927ff4372d27d0f8ade5f2 (diff)
downloadopencode-10433cb45b6ed932368fb147032d671eaed0d273.tar.gz
opencode-10433cb45b6ed932368fb147032d671eaed0d273.zip
fix(windows): fix jdtls download on Windows (#9195)
-rw-r--r--packages/opencode/src/lsp/server.ts22
1 files changed, 18 insertions, 4 deletions
diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts
index 24da77edc..e7efd99dc 100644
--- a/packages/opencode/src/lsp/server.ts
+++ b/packages/opencode/src/lsp/server.ts
@@ -1157,10 +1157,24 @@ export namespace LSPServer {
await fs.mkdir(distPath, { recursive: true })
const releaseURL =
"https://www.eclipse.org/downloads/download.php?file=/jdtls/snapshots/jdt-language-server-latest.tar.gz"
- const archivePath = path.join(distPath, "release.tar.gz")
- await $`curl -L -o '${archivePath}' '${releaseURL}'`.quiet().nothrow()
- await $`tar -xzf ${archivePath}`.cwd(distPath).quiet().nothrow()
- await fs.rm(archivePath, { force: true })
+ const archiveName = "release.tar.gz"
+
+ log.info("Downloading JDTLS archive", { url: releaseURL, dest: distPath })
+ const curlResult = await $`curl -L -o ${archiveName} '${releaseURL}'`.cwd(distPath).quiet().nothrow()
+ if (curlResult.exitCode !== 0) {
+ log.error("Failed to download JDTLS", { exitCode: curlResult.exitCode, stderr: curlResult.stderr.toString() })
+ return
+ }
+
+ log.info("Extracting JDTLS archive")
+ const tarResult = await $`tar -xzf ${archiveName}`.cwd(distPath).quiet().nothrow()
+ if (tarResult.exitCode !== 0) {
+ log.error("Failed to extract JDTLS", { exitCode: tarResult.exitCode, stderr: tarResult.stderr.toString() })
+ return
+ }
+
+ await fs.rm(path.join(distPath, archiveName), { force: true })
+ log.info("JDTLS download and extraction completed")
}
const jarFileName = await $`ls org.eclipse.equinox.launcher_*.jar`
.cwd(launcherDir)