diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-08-01 01:22:46 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-08-01 01:22:46 -0700 |
commit | 475abad54ebb205ed574eb3de2640a0d19844b93 (patch) | |
tree | dc58a8ef386260dfd7bf98a4bfed36dffe3608c5 | |
parent | 70eb274f51c703c352865b8af39557b271fae6dd (diff) | |
download | sncontinue-475abad54ebb205ed574eb3de2640a0d19844b93.tar.gz sncontinue-475abad54ebb205ed574eb3de2640a0d19844b93.tar.bz2 sncontinue-475abad54ebb205ed574eb3de2640a0d19844b93.zip |
start executables from vscode extension
-rwxr-xr-x | extension/server/exe/run-darwin | bin | 0 -> 16421088 bytes | |||
-rw-r--r-- | extension/server/exe/run-linux | bin | 0 -> 28788480 bytes | |||
-rw-r--r-- | extension/server/exe/run-win.exe | bin | 0 -> 15593484 bytes | |||
-rw-r--r-- | extension/src/activation/environmentSetup.ts | 55 |
4 files changed, 54 insertions, 1 deletions
diff --git a/extension/server/exe/run-darwin b/extension/server/exe/run-darwin Binary files differnew file mode 100755 index 00000000..4d8323ef --- /dev/null +++ b/extension/server/exe/run-darwin diff --git a/extension/server/exe/run-linux b/extension/server/exe/run-linux Binary files differnew file mode 100644 index 00000000..3efe5633 --- /dev/null +++ b/extension/server/exe/run-linux diff --git a/extension/server/exe/run-win.exe b/extension/server/exe/run-win.exe Binary files differnew file mode 100644 index 00000000..30466272 --- /dev/null +++ b/extension/server/exe/run-win.exe diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts index 50a2783a..5e2e3c0f 100644 --- a/extension/src/activation/environmentSetup.ts +++ b/extension/src/activation/environmentSetup.ts @@ -427,7 +427,60 @@ export async function startContinuePythonServer() { return; } - setupServerPath(); + console.log("Checking if server is old version"); + // Kill the server if it is running an old version + if (fs.existsSync(serverVersionPath())) { + const serverVersion = fs.readFileSync(serverVersionPath(), "utf8"); + if ( + serverVersion === getExtensionVersion() && + (await checkServerRunning(serverUrl)) + ) { + // The current version is already up and running, no need to continue + return; + } + } + console.log("Killing old server..."); + try { + await fkill(":65432"); + } catch (e: any) { + if (!e.message.includes("Process doesn't exist")) { + console.log("Failed to kill old server:", e); + } + } + + // Get name of the corresponding executable for platform + const exeDir = path.join(getExtensionUri().fsPath, "server", "exe"); + let exePath: string; + if (os.platform() === "win32") { + exePath = path.join(exeDir, "run-win.exe"); + } else if (os.platform() === "darwin") { + exePath = path.join(exeDir, "run-darwin"); + await runCommand(`xattr -dr com.apple.quarantine ${exePath}`); + } else { + exePath = path.join(exeDir, "run-linux"); + } + + // Run the executable + const child = spawn(exePath, { + shell: true, + }); + child.stderr.on("data", (data: any) => { + console.log(data.toString()); + }); + + child.on("error", (error: any) => { + console.log(`error: ${error.message}`); + }); + + child.on("close", (code: any) => { + console.log(`child process exited with code ${code}`); + }); + + child.stdout.on("data", (data: any) => { + console.log(`stdout: ${data.toString()}`); + }); + + return; return await retryThenFail(async () => { console.log("Checking if server is old version"); |