diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java index 050ae764cc..b0d224f386 100644 --- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java +++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2023 IBM Corporation and others. + * Copyright (c) 2008, 2024 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -234,6 +234,8 @@ public static String getCompilerCompliance(IVMInstall2 vMInstall) { String version = vMInstall.getJavaVersion(); if (version == null) { return null; + } else if (version.startsWith(JavaCore.VERSION_22)) { + return JavaCore.VERSION_22; } else if (version.startsWith(JavaCore.VERSION_21)) { return JavaCore.VERSION_21; } else if (version.startsWith(JavaCore.VERSION_20)) { diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java index 842879058b..2bfb03a564 100644 --- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java +++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2023 IBM Corporation and others. + * Copyright (c) 2000, 2024 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -845,8 +845,11 @@ public URL getDefaultJavadocLocation(File installLocation) { */ public static URL getDefaultJavadocLocation(String version) { try { - if (version.startsWith(JavaCore.VERSION_21)) { - return new URL("https://docs.oracle.com/en/java/javase/20/docs/api/"); //$NON-NLS-1$ + if (version.startsWith(JavaCore.VERSION_22)) { + // To modify to version 22 after the release + return new URL("https://docs.oracle.com/en/java/javase/22/docs/api/"); //$NON-NLS-1$ + } else if (version.startsWith(JavaCore.VERSION_21)) { + return new URL("https://docs.oracle.com/en/java/javase/21/docs/api/"); //$NON-NLS-1$ } else if (version.startsWith(JavaCore.VERSION_20)) { return new URL("https://docs.oracle.com/en/java/javase/20/docs/api/"); //$NON-NLS-1$ } else if (version.startsWith(JavaCore.VERSION_19)) { diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java index 3751e43def..76dacb65b4 100644 --- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java +++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2023 IBM Corporation and others. + * Copyright (c) 2005, 2024 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -196,7 +196,9 @@ public synchronized Analyzer[] getAnalyzers() { private String getExecutionEnvironmentCompliance(IExecutionEnvironment executionEnvironment) { String desc = executionEnvironment.getId(); - if (desc.indexOf(JavaCore.VERSION_21) != -1) { + if (desc.indexOf(JavaCore.VERSION_22) != -1) { + return JavaCore.VERSION_22; + } else if (desc.indexOf(JavaCore.VERSION_21) != -1) { return JavaCore.VERSION_21; } else if (desc.indexOf(JavaCore.VERSION_20) != -1) { return JavaCore.VERSION_20; diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java index 177e89534d..5c1d921c01 100644 --- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java +++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2023 IBM Corporation and others. + * Copyright (c) 2006, 2024 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -41,6 +41,7 @@ public class ExecutionEnvironmentAnalyzer implements IExecutionEnvironmentAnalyz // XXX: Note that this string is not yet standardized by OSGi, see http://wiki.osgi.org/wiki/Execution_Environment + private static final String JavaSE_22 = "JavaSE-22"; //$NON-NLS-1$ private static final String JavaSE_21 = "JavaSE-21"; //$NON-NLS-1$ private static final String JavaSE_20 = "JavaSE-20"; //$NON-NLS-1$ private static final String JavaSE_19 = "JavaSE-19"; //$NON-NLS-1$ @@ -95,7 +96,7 @@ public class ExecutionEnvironmentAnalyzer implements IExecutionEnvironmentAnalyz mappings.put(JavaSE_1_8, new String[] { JavaSE_1_7 }); mappings.put(JavaSE_9, new String[] { JavaSE_1_8 }); mappings.put(JavaSE_10, new String[] { JavaSE_9 }); - mappings.put(JavaSE_10_Plus, new String[] { JavaSE_21 }); + mappings.put(JavaSE_10_Plus, new String[] { JavaSE_22 }); mappings.put(JavaSE_11, new String[] { JavaSE_10 }); mappings.put(JavaSE_12, new String[] { JavaSE_11 }); mappings.put(JavaSE_13, new String[] { JavaSE_12 }); @@ -107,6 +108,7 @@ public class ExecutionEnvironmentAnalyzer implements IExecutionEnvironmentAnalyz mappings.put(JavaSE_19, new String[] { JavaSE_18 }); mappings.put(JavaSE_20, new String[] { JavaSE_19 }); mappings.put(JavaSE_21, new String[] { JavaSE_20 }); + mappings.put(JavaSE_22, new String[] { JavaSE_21 }); } @Override public CompatibleEnvironment[] analyze(IVMInstall vm, IProgressMonitor monitor) throws CoreException { @@ -132,7 +134,9 @@ public CompatibleEnvironment[] analyze(IVMInstall vm, IProgressMonitor monitor) types = getTypes(CDC_FOUNDATION_1_1); } } else { - if (javaVersion.startsWith("21")) { //$NON-NLS-1$ + if (javaVersion.startsWith("22")) { //$NON-NLS-1$ + types = getTypes(JavaSE_22); + } else if (javaVersion.startsWith("21")) { //$NON-NLS-1$ types = getTypes(JavaSE_21); } else if (javaVersion.startsWith("20")) { //$NON-NLS-1$ types = getTypes(JavaSE_20); diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java index b3b7e64977..42cabe2ca6 100644 --- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java +++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2023 IBM Corporation and others. + * Copyright (c) 2000, 2024 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -3370,8 +3370,11 @@ private static void updateCompliance(IVMInstall vm) { } else if (javaVersion.startsWith(JavaCore.VERSION_21) && (javaVersion.length() == JavaCore.VERSION_21.length() || javaVersion.charAt(JavaCore.VERSION_21.length()) == '.')) { compliance = JavaCore.VERSION_21; + } else if (javaVersion.startsWith(JavaCore.VERSION_22) + && (javaVersion.length() == JavaCore.VERSION_22.length() || javaVersion.charAt(JavaCore.VERSION_22.length()) == '.')) { + compliance = JavaCore.VERSION_22; } else { - compliance = JavaCore.VERSION_21; // use latest by default + compliance = JavaCore.VERSION_22; // use latest by default } Hashtable options= JavaCore.getOptions(); diff --git a/org.eclipse.jdt.launching/plugin.properties b/org.eclipse.jdt.launching/plugin.properties index fcb6fa147f..5874f418fa 100644 --- a/org.eclipse.jdt.launching/plugin.properties +++ b/org.eclipse.jdt.launching/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2023 IBM Corporation and others. +# Copyright (c) 2000, 202 IBM Corporation and others. # # This program and the accompanying materials # are made available under the terms of the Eclipse Public License 2.0 @@ -83,6 +83,7 @@ environment.description.22 = Java Platform, Standard Edition 18 environment.description.23 = Java Platform, Standard Edition 19 environment.description.24 = Java Platform, Standard Edition 20 environment.description.25 = Java Platform, Standard Edition 21 +environment.description.26 = Java Platform, Standard Edition 22 classpathVariableInitializer.deprecated = Use the JRE System Library instead diff --git a/org.eclipse.jdt.launching/plugin.xml b/org.eclipse.jdt.launching/plugin.xml index 3fc8fb50e2..a3579476b6 100644 --- a/org.eclipse.jdt.launching/plugin.xml +++ b/org.eclipse.jdt.launching/plugin.xml @@ -1,7 +1,7 @@