diff options
| author | Patrick Schiel <[email protected]> | 2026-01-18 07:30:45 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-01-18 00:30:45 -0600 |
| commit | 10433cb45b6ed932368fb147032d671eaed0d273 (patch) | |
| tree | 1ff2640b273ffc97fbcb001d887055ada41713b4 /packages | |
| parent | 073f9d99b58339e15e927ff4372d27d0f8ade5f2 (diff) | |
| download | opencode-10433cb45b6ed932368fb147032d671eaed0d273.tar.gz opencode-10433cb45b6ed932368fb147032d671eaed0d273.zip | |
fix(windows): fix jdtls download on Windows (#9195)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/lsp/server.ts | 22 |
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) |
