Skip to content

Commit ce814bb

Browse files
authored
Merge pull request #453 from sid-srini/jvsc415_projectJdkHome_java_platform_override_init
Constructor init of java.lsp.server JavaPlatformProvider override
2 parents 35e4b0a + 386be22 commit ce814bb

File tree

5 files changed

+33
-1
lines changed

5 files changed

+33
-1
lines changed

build.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
patches/8460-draft.diff
6565
patches/8470.diff
6666
patches/8484.diff
67+
patches/8745-draft.diff
6768
patches/disable-error-notification.diff
6869
patches/mvn-sh.diff
6970
patches/project-marker-jdk.diff

nbcode/integration/src/org/netbeans/modules/nbcode/integration/LspJavaPlatformProviderOverride.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,8 @@
2828
*/
2929
@ServiceProvider(service = JavaPlatformProvider.class, position = 10_000)
3030
public class LspJavaPlatformProviderOverride extends AbstractJavaPlatformProviderOverride {
31+
32+
public LspJavaPlatformProviderOverride() {
33+
super(System.getProperty("netbeans.lsp.java.platform.override", null)); //NOI18N
34+
}
3135
}

patches/8745-draft.diff

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractJavaPlatformProviderOverride.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractJavaPlatformProviderOverride.java
2+
index df668954dd..054f85d0e5 100644
3+
--- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractJavaPlatformProviderOverride.java
4+
+++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractJavaPlatformProviderOverride.java
5+
@@ -39,6 +39,14 @@ public abstract class AbstractJavaPlatformProviderOverride implements JavaPlatfo
6+
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
7+
private FileObject defaultPlatformOverride;
8+
9+
+ public AbstractJavaPlatformProviderOverride() {
10+
+ this(null);
11+
+ }
12+
+
13+
+ protected AbstractJavaPlatformProviderOverride(String defaultPlatformOverride) {
14+
+ this.defaultPlatformOverride = defaultPlatformOverride == null ? null : FileUtil.toFileObject(new File(defaultPlatformOverride));
15+
+ }
16+
+
17+
@Override
18+
@SuppressWarnings("ReturnOfCollectionOrArrayField")
19+
public JavaPlatform[] getInstalledPlatforms() {

vscode/src/configurations/handlers.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ export const jdkHomeValueHandler = (): string | null => {
5555
null;
5656
}
5757

58+
export const projectJdkHomeValueHandler = (): string | null => {
59+
return getConfigurationValue(configKeys.projectJdkHome, null);
60+
}
61+
5862
export const projectSearchRootsValueHandler = (): string => {
5963
let projectSearchRoots: string = '';
6064
const isProjectFolderSearchLimited: boolean = !getConfigurationValue(configKeys.disableProjSearchLimit, false);

vscode/src/lsp/launchOptions.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
limitations under the License.
1515
*/
1616
import { builtInConfigKeys, configKeys } from "../configurations/configuration"
17-
import { isDarkColorThemeHandler, isNetbeansVerboseEnabled, jdkHomeValueHandler, lspServerVmOptionsHandler, projectSearchRootsValueHandler, userdirHandler } from "../configurations/handlers";
17+
import { isDarkColorThemeHandler, isNetbeansVerboseEnabled, jdkHomeValueHandler, projectJdkHomeValueHandler, lspServerVmOptionsHandler, projectSearchRootsValueHandler, userdirHandler } from "../configurations/handlers";
1818
import { l10n } from "../localiser";
1919
import { isString } from "../utils";
2020
import { userDefinedLaunchOptionsType } from "./types"
@@ -25,6 +25,10 @@ export const getUserConfigLaunchOptionsDefaults = (): userDefinedLaunchOptionsTy
2525
value: jdkHomeValueHandler(),
2626
optionToPass: ['--jdkhome']
2727
},
28+
[configKeys.projectJdkHome]: {
29+
value: projectJdkHomeValueHandler(),
30+
optionToPass: '-J-Dnetbeans.lsp.java.platform.override='
31+
},
2832
[configKeys.userdir]: {
2933
value: userdirHandler(),
3034
optionToPass: ['--userdir']

0 commit comments

Comments
 (0)