Skip to content

Commit 3f7338f

Browse files
committed
added support for java.bazel.staticProcessStreamSocket vmarg
1 parent dee51e9 commit 3f7338f

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/loggingTCPServer.ts

+12-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { AddressInfo, Server, Socket, createServer } from 'net';
22
import { setTimeout } from 'timers/promises';
3-
import { commands } from 'vscode';
3+
import { commands, workspace } from 'vscode';
44
import { BazelLanguageServerTerminal } from './bazelLangaugeServerTerminal';
55
import { Commands } from './commands';
66

@@ -11,6 +11,16 @@ const RETRY_INTERVAL = 5000; // ms
1111
let server: Server | undefined;
1212

1313
function startTCPServer(attempts = 0): Promise<number> {
14+
let port = 0;
15+
if (workspace.getConfiguration('java').has('jdt.ls.vmargs')) {
16+
const vmargs = workspace
17+
.getConfiguration('java')
18+
.get<string>('jdt.ls.vmargs');
19+
if (vmargs?.includes('java.bazel.staticProcessStreamSocket')) {
20+
port = parseInt(vmargs.split('java.bazel.staticProcessStreamSocket=')[1]);
21+
}
22+
}
23+
1424
return new Promise((resolve) => {
1525
if (!server) {
1626
server = createServer((sock: Socket) => {
@@ -27,7 +37,7 @@ function startTCPServer(attempts = 0): Promise<number> {
2737
});
2838
});
2939
}
30-
server.listen(0, 'localhost', () => {
40+
server.listen(port, 'localhost', () => {
3141
if (server) {
3242
const address = server.address();
3343
if (address) {

0 commit comments

Comments
 (0)