diff --git a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/Bug467063Test.xtend b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/Bug467063Test.xtend index 5ab48b9e822..a27cd96590c 100644 --- a/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/Bug467063Test.xtend +++ b/org.eclipse.xtend.core.tests/src/org/eclipse/xtend/core/tests/macro/Bug467063Test.xtend @@ -16,7 +16,6 @@ import org.junit.Test import org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration import org.eclipse.xtend.lib.macro.TransformationContext import org.eclipse.xtend.lib.macro.declaration.MutableInterfaceDeclaration -import org.eclipse.xtext.util.JavaVersion /** * @author Christian Dietrich - Initial contribution and API @@ -49,7 +48,7 @@ class Bug467063Test extends AbstractActiveAnnotationTest { } } - ''', JavaVersion.JAVA8) + ''') } } diff --git a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/Bug467063Test.java b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/Bug467063Test.java index 85a99550af1..76fa601b537 100644 --- a/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/Bug467063Test.java +++ b/org.eclipse.xtend.core.tests/xtend-gen/org/eclipse/xtend/core/tests/macro/Bug467063Test.java @@ -9,7 +9,6 @@ package org.eclipse.xtend.core.tests.macro; import org.eclipse.xtend2.lib.StringConcatenation; -import org.eclipse.xtext.util.JavaVersion; import org.junit.Test; /** @@ -63,6 +62,6 @@ public void testAddInterfaceWithDefaultMethod() { _builder_1.append("}"); _builder_1.newLine(); _builder_1.newLine(); - this._xtendCompilerTester.assertCompilesTo(_builder, _builder_1, JavaVersion.JAVA8); + this._xtendCompilerTester.assertCompilesTo(_builder, _builder_1); } } diff --git a/org.eclipse.xtend.ide.tests/longrunning/src/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.xtend b/org.eclipse.xtend.ide.tests/longrunning/src/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.xtend index f1041be0220..d9cd3db9323 100644 --- a/org.eclipse.xtend.ide.tests/longrunning/src/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.xtend +++ b/org.eclipse.xtend.ide.tests/longrunning/src/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.xtend @@ -20,7 +20,6 @@ import org.eclipse.xtext.ui.testing.util.JavaProjectSetupUtil import org.eclipse.xtext.ui.XtextProjectHelper import org.eclipse.xtext.ui.util.JREContainerProvider import org.eclipse.xtext.ui.util.PluginProjectFactory -import org.eclipse.xtext.util.JavaVersion import org.junit.After import org.junit.Before import org.junit.Test @@ -127,7 +126,7 @@ class SameClassNamesTest extends AbstractXtendUITestCase { projectFactory.addExportedPackages(#['com.acme']) val result = projectFactory.createProject(new NullProgressMonitor(), null); val javaProject = JavaCore.create(result); - WorkbenchTestHelper.makeCompliantFor(javaProject, JavaVersion.JAVA8); + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); JavaProjectSetupUtil.addJreClasspathEntry(javaProject); return result; } diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/WorkbenchTestHelper.java b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/WorkbenchTestHelper.java index 219afb5e416..44cde695d99 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/WorkbenchTestHelper.java +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/WorkbenchTestHelper.java @@ -285,7 +285,7 @@ public static IProject createPluginProject(String name, JavaVersion javaVersion, IProject result = projectFactory.createProject(new NullProgressMonitor(), null); IJavaProject javaProject = JavaCore.create(result); if (javaVersion == null) - JavaProjectSetupUtil.makeJava8Compliant(javaProject); + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); else makeCompliantFor(javaProject, javaVersion); JavaProjectSetupUtil.addJreClasspathEntry(javaProject); diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/buildpath/XtendLibClasspathAdderTest.java b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/buildpath/XtendLibClasspathAdderTest.java index fbe92bcf1c9..8c60a9d0f30 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/buildpath/XtendLibClasspathAdderTest.java +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/buildpath/XtendLibClasspathAdderTest.java @@ -68,7 +68,7 @@ public void testAddToJavaProject() throws Exception { javaProjectFactory.addProjectNatures(JavaCore.NATURE_ID, XtextProjectHelper.NATURE_ID); IProject project = javaProjectFactory.createProject(null, null); IJavaProject javaProject = JavaCore.create(project); - JavaProjectSetupUtil.makeJava8Compliant(javaProject); + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); IFile file = project.getFile("src/Foo.xtend"); file.create(new StringInputStream("import org.eclipse.xtend.lib.annotations.Accessors class Foo { @Accessors int bar }"), true, null); @@ -90,7 +90,7 @@ public void testAddToPlugin() throws Exception { XtextProjectHelper.NATURE_ID); IProject project = pluginProjectFactory.createProject(null, null); IJavaProject javaProject = JavaCore.create(project); - JavaProjectSetupUtil.makeJava8Compliant(javaProject); + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); IFile file = project.getFile("src/Foo.xtend"); file.create(new StringInputStream("import org.eclipse.xtend.lib.annotations.Accessors class Foo { @Accessors int bar }"), true, null); @@ -111,7 +111,7 @@ public void testAddToBrokenPlugin() throws Exception { XtextProjectHelper.NATURE_ID); IProject project = pluginProjectFactory.createProject(null, null); IJavaProject javaProject = JavaCore.create(project); - JavaProjectSetupUtil.makeJava8Compliant(javaProject); + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); project.findMember("META-INF").delete(true, null); IFile file = project.getFile("src/Foo.xtend"); file.create(new StringInputStream("import org.eclipse.xtend.lib.annotations.Accessors class Foo { @Accessors int bar }"), diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.xtend b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.xtend index 53af54c87a5..a79474ea546 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.xtend +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.xtend @@ -46,7 +46,7 @@ class Bug456868Test extends AbstractXtendUITestCase { @Test def void testProjectWithWhitespaceInNameWorks() { // use names with whitespaces project = createJavaProject("my project") - makeJava8Compliant(project) + makeDefaultCompliant(project) libAdder.addLibsToClasspath(project, new NullProgressMonitor()); natureAdder.toggleNature(project.project) createFile("my project/src/MyClass.xtend", ''' diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.xtend b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.xtend index a869fddfc59..6eae754d1da 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.xtend +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.xtend @@ -20,7 +20,6 @@ import org.eclipse.ui.texteditor.MarkerUtilities import org.eclipse.xtend.ide.internal.XtendActivator import org.eclipse.xtend.ide.tests.WorkbenchTestHelper import org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil -import org.eclipse.xtext.util.JavaVersion import org.junit.After import org.junit.AfterClass import org.junit.Assert @@ -58,9 +57,9 @@ class JavaVersionSettingTest extends Assert { workbenchTestHelper.tearDown } - @Test def void testCompileWithJava8() { + @Test def void testOverrideAnnotationIsGenerated() { workbenchTestHelper.tearDown - WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME, JavaVersion.JAVA8) + WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME) waitForJdtIndex() val xtendFile = workbenchTestHelper.createFile('mypackage/OverrideTest.xtend', ''' package mypackage diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.xtend b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.xtend index 2eb377a7189..29619480fc8 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.xtend +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.xtend @@ -28,7 +28,6 @@ import org.junit.Test import static org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil.* import static extension org.eclipse.ui.texteditor.MarkerUtilities.* -import org.eclipse.xtext.util.JavaVersion import org.eclipse.xtext.testing.Flaky class RebuildAffectedResourcesTest extends AbstractXtendUITestCase { @@ -244,7 +243,7 @@ class RebuildAffectedResourcesTest extends AbstractXtendUITestCase { @Test def void testChangeInResourceReadFromAnnotationProcessor() { - val macroProject = JavaCore.create(WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME + "-anno", JavaVersion.JAVA8).registerForCleanUp) + val macroProject = JavaCore.create(WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME + "-anno").registerForCleanUp) macroProject.createFile('src/anno/Anno.xtend', ''' package anno import com.google.common.base.Splitter @@ -275,7 +274,7 @@ class RebuildAffectedResourcesTest extends AbstractXtendUITestCase { ''') WorkbenchTestHelper.addExportedPackages(macroProject.project, "anno") - val clientProject = JavaCore.create(WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME + "-client", JavaVersion.JAVA8).registerForCleanUp) + val clientProject = JavaCore.create(WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME + "-client").registerForCleanUp) JavaProjectSetupUtil.addProjectReference(clientProject, macroProject) val constants = clientProject.createFile('src/constants.txt', ''' A diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/contentassist/ContentAssistTest.java b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/contentassist/ContentAssistTest.java index 157786e189d..44fec6e4fb7 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/contentassist/ContentAssistTest.java +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/contentassist/ContentAssistTest.java @@ -467,7 +467,7 @@ public static IProject createPluginProject(String name) throws CoreException { "org.eclipse.xtext.xbase.lib", "org.eclipse.xtend.lib")); IProject result = projectFactory.createProject(new NullProgressMonitor(), null); - JavaProjectSetupUtil.makeJava8Compliant(JavaCore.create(result)); + JavaProjectSetupUtil.makeDefaultCompliant(JavaCore.create(result)); return result; } } diff --git a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.xtend b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.xtend index 698654fe454..660f8b27f2c 100644 --- a/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.xtend +++ b/org.eclipse.xtend.ide.tests/src/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.xtend @@ -31,7 +31,6 @@ import org.eclipse.xtext.testing.XtextRunner import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider import org.eclipse.xtext.ui.resource.XtextResourceSetProvider import org.eclipse.xtext.util.CancelIndicator -import org.eclipse.xtext.util.JavaVersion import org.eclipse.xtext.util.StringInputStream import org.eclipse.xtext.validation.CheckMode import org.eclipse.xtext.validation.IResourceValidator @@ -127,9 +126,9 @@ class ActiveAnnotationsProcessingInIDETest extends AbstractReusableActiveAnnotat @BeforeClass static def void createProjects() { - macroProject = JavaCore.create(createPluginProject("macroProject", JavaVersion.JAVA8)) + macroProject = JavaCore.create(createPluginProject("macroProject")) userProject = JavaCore::create( - createPluginProject("userProject", JavaVersion.JAVA8, "com.google.inject", "org.eclipse.xtend.lib", + createPluginProject("userProject", "com.google.inject", "org.eclipse.xtend.lib", "org.eclipse.xtext.xbase.lib", "org.eclipse.xtend.ide.tests.data", "org.junit", "macroProject")) macroProject.project.addExportedPackages("myannotation") } diff --git a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.java b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.java index a7519411b6a..aac2e923b2f 100644 --- a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.java +++ b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/builder/SameClassNamesTest.java @@ -26,7 +26,6 @@ import org.eclipse.xtext.ui.testing.util.JavaProjectSetupUtil; import org.eclipse.xtext.ui.util.JREContainerProvider; import org.eclipse.xtext.ui.util.PluginProjectFactory; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.Conversions; import org.eclipse.xtext.xbase.lib.Exceptions; @@ -169,7 +168,7 @@ public IProject createPluginProject(final String name, final String... requiredB NullProgressMonitor _nullProgressMonitor = new NullProgressMonitor(); final IProject result = projectFactory.createProject(_nullProgressMonitor, null); final IJavaProject javaProject = JavaCore.create(result); - WorkbenchTestHelper.makeCompliantFor(javaProject, JavaVersion.JAVA8); + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); JavaProjectSetupUtil.addJreClasspathEntry(javaProject); return result; } diff --git a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.java b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.java index 9af8c7a2739..3e315a6cd7c 100644 --- a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.java +++ b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/Bug456868Test.java @@ -52,7 +52,7 @@ public void tearDown() throws Exception { public void testProjectWithWhitespaceInNameWorks() { try { this.project = JavaProjectSetupUtil.createJavaProject("my project"); - JavaProjectSetupUtil.makeJava8Compliant(this.project); + JavaProjectSetupUtil.makeDefaultCompliant(this.project); NullProgressMonitor _nullProgressMonitor = new NullProgressMonitor(); this.libAdder.addLibsToClasspath(this.project, _nullProgressMonitor); this.natureAdder.toggleNature(this.project.getProject()); diff --git a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.java b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.java index 4c357bb0c3a..8de43342e92 100644 --- a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.java +++ b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/JavaVersionSettingTest.java @@ -22,7 +22,6 @@ import org.eclipse.xtend.ide.tests.WorkbenchTestHelper; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.xbase.lib.Exceptions; import org.junit.After; import org.junit.AfterClass; @@ -64,10 +63,10 @@ public void tearDown() { } @Test - public void testCompileWithJava8() { + public void testOverrideAnnotationIsGenerated() { try { this.workbenchTestHelper.tearDown(); - WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME, JavaVersion.JAVA8); + WorkbenchTestHelper.createPluginProject(WorkbenchTestHelper.TESTPROJECT_NAME); IResourcesSetupUtil.waitForJdtIndex(); StringConcatenation _builder = new StringConcatenation(); _builder.append("package mypackage"); diff --git a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.java b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.java index 4126331c38c..72f2b3c30f1 100644 --- a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.java +++ b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/compiler/RebuildAffectedResourcesTest.java @@ -27,7 +27,6 @@ import org.eclipse.xtext.testing.Flaky; import org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil; import org.eclipse.xtext.ui.testing.util.JavaProjectSetupUtil; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.StringInputStream; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.Conversions; @@ -394,7 +393,7 @@ public void testChangeInAnnotationProcessor() { @Test public void testChangeInResourceReadFromAnnotationProcessor() { try { - final IJavaProject macroProject = JavaCore.create(this.registerForCleanUp(WorkbenchTestHelper.createPluginProject((WorkbenchTestHelper.TESTPROJECT_NAME + "-anno"), JavaVersion.JAVA8))); + final IJavaProject macroProject = JavaCore.create(this.registerForCleanUp(WorkbenchTestHelper.createPluginProject((WorkbenchTestHelper.TESTPROJECT_NAME + "-anno")))); StringConcatenation _builder = new StringConcatenation(); _builder.append("package anno"); _builder.newLine(); @@ -460,7 +459,7 @@ public void testChangeInResourceReadFromAnnotationProcessor() { _builder.newLine(); this.createFile(macroProject, "src/anno/Anno.xtend", _builder.toString()); WorkbenchTestHelper.addExportedPackages(macroProject.getProject(), "anno"); - final IJavaProject clientProject = JavaCore.create(this.registerForCleanUp(WorkbenchTestHelper.createPluginProject((WorkbenchTestHelper.TESTPROJECT_NAME + "-client"), JavaVersion.JAVA8))); + final IJavaProject clientProject = JavaCore.create(this.registerForCleanUp(WorkbenchTestHelper.createPluginProject((WorkbenchTestHelper.TESTPROJECT_NAME + "-client")))); JavaProjectSetupUtil.addProjectReference(clientProject, macroProject); StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("A"); diff --git a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.java b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.java index 8fe76d646aa..bf8cd09ed12 100644 --- a/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.java +++ b/org.eclipse.xtend.ide.tests/xtend-gen/org/eclipse/xtend/ide/tests/macros/ActiveAnnotationsProcessingInIDETest.java @@ -37,7 +37,6 @@ import org.eclipse.xtext.ui.resource.XtextResourceSetProvider; import org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil; import org.eclipse.xtext.util.CancelIndicator; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.StringInputStream; import org.eclipse.xtext.validation.CheckMode; import org.eclipse.xtext.validation.IResourceValidator; @@ -196,9 +195,9 @@ public void assertDocumentation(final CharSequence charSequence, final EObject s @BeforeClass public static void createProjects() { try { - ActiveAnnotationsProcessingInIDETest.macroProject = JavaCore.create(WorkbenchTestHelper.createPluginProject("macroProject", JavaVersion.JAVA8)); + ActiveAnnotationsProcessingInIDETest.macroProject = JavaCore.create(WorkbenchTestHelper.createPluginProject("macroProject")); ActiveAnnotationsProcessingInIDETest.userProject = JavaCore.create( - WorkbenchTestHelper.createPluginProject("userProject", JavaVersion.JAVA8, "com.google.inject", "org.eclipse.xtend.lib", + WorkbenchTestHelper.createPluginProject("userProject", "com.google.inject", "org.eclipse.xtend.lib", "org.eclipse.xtext.xbase.lib", "org.eclipse.xtend.ide.tests.data", "org.junit", "macroProject")); WorkbenchTestHelper.addExportedPackages(ActiveAnnotationsProcessingInIDETest.macroProject.getProject(), "myannotation"); } catch (Throwable _e) { diff --git a/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java b/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java index 1201f0a3708..22310a080db 100644 --- a/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java +++ b/org.eclipse.xtend.maven.plugin/src/main/java/org/eclipse/xtend/maven/AbstractXtendCompilerMojo.java @@ -24,6 +24,7 @@ import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.annotations.Parameter; import org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler; +import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; import com.google.common.base.Predicate; @@ -47,7 +48,7 @@ public boolean apply(String filePath) { * * Supported values: 11, 17, 21 and so forth */ - @Parameter(property="maven.compiler.source", defaultValue="21") + @Parameter(property="maven.compiler.source", defaultValue=JavaVersion.DEFAULT_QUALIFIER) private String javaSourceVersion; /** diff --git a/org.eclipse.xtend.performance.tests/CopyPerformanceTestData.mwe2.launch b/org.eclipse.xtend.performance.tests/CopyPerformanceTestData.mwe2.launch index 3a3ad463dcc..0c25e547dfd 100644 --- a/org.eclipse.xtend.performance.tests/CopyPerformanceTestData.mwe2.launch +++ b/org.eclipse.xtend.performance.tests/CopyPerformanceTestData.mwe2.launch @@ -9,7 +9,7 @@ - + diff --git a/org.eclipse.xtend.performance.tests/src/org/eclipse/xtend/performance/tests/PerformanceTestProjectSetup.java b/org.eclipse.xtend.performance.tests/src/org/eclipse/xtend/performance/tests/PerformanceTestProjectSetup.java index 1b0701d1d52..2482b1fe5c5 100644 --- a/org.eclipse.xtend.performance.tests/src/org/eclipse/xtend/performance/tests/PerformanceTestProjectSetup.java +++ b/org.eclipse.xtend.performance.tests/src/org/eclipse/xtend/performance/tests/PerformanceTestProjectSetup.java @@ -14,7 +14,6 @@ import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; -import java.util.Map; import org.eclipse.core.resources.ICommand; import org.eclipse.core.resources.IContainer; @@ -37,6 +36,7 @@ import org.eclipse.xtext.builder.nature.ToggleXtextNatureCommand; import org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil; import org.eclipse.xtext.ui.testing.util.JavaProjectSetupUtil; +import org.eclipse.xtext.ui.util.JREContainerProvider; import org.eclipse.xtext.util.Strings; import com.google.common.collect.Lists; @@ -133,13 +133,13 @@ public static IJavaProject createJavaProject( project.open(null); project.setDescription(projectDescription, null); - classpathEntries.add(JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"))); + classpathEntries.add(JREContainerProvider.getDefaultJREContainerEntry()); classpathEntries.add(JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"))); javaProject.setRawClasspath(classpathEntries.toArray(new IClasspathEntry[classpathEntries.size()]), null); - - makeJava21Compliant(javaProject); + + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); javaProject.setOutputLocation(new Path("/" + projectName + "/bin"), null); createManifest(projectName, project); @@ -153,20 +153,6 @@ public static IJavaProject createJavaProject( return javaProject ; } - public static void makeJava21Compliant(IJavaProject javaProject) { - Map options= javaProject.getOptions(false); - options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_21); - options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_21); - options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_21); - options.put(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.ERROR); - options.put(JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.ERROR); - options.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE); - options.put(JavaCore.COMPILER_LINE_NUMBER_ATTR, JavaCore.GENERATE); - options.put(JavaCore.COMPILER_SOURCE_FILE_ATTR, JavaCore.GENERATE); - options.put(JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL, JavaCore.PRESERVE); - javaProject.setOptions(options); - } - protected static void refreshExternalArchives(IJavaProject p) throws JavaModelException { IResourcesSetupUtil.waitForBuild(); // ensure that the auto-build job doesn't interfere with external jar refreshing getJavaModel().refreshExternalArchives(new IJavaElement[] {p}, null); @@ -213,7 +199,7 @@ private static void createManifest(final String projectName, final IProject proj mainContent.append("Bundle-Version: 1.0.0\n"); mainContent.append("Bundle-SymbolicName: " + projectName.toLowerCase() + "; singleton:=true\n"); mainContent.append("Bundle-ActivationPolicy: lazy\n"); - mainContent.append("Bundle-RequiredExecutionEnvironment: JavaSE-1.8\n"); + mainContent.append("Bundle-RequiredExecutionEnvironment: " + JREContainerProvider.PREFERRED_BREE + "\n"); mainContent.append("Require-Bundle: com.google.guava,\n"); mainContent.append(" org.apache.log4j,\n"); mainContent.append(" org.eclipse.xtend.lib,\n"); diff --git a/org.eclipse.xtext.builder.standalone/src/org/eclipse/xtext/builder/standalone/compiler/CompilerConfiguration.java b/org.eclipse.xtext.builder.standalone/src/org/eclipse/xtext/builder/standalone/compiler/CompilerConfiguration.java index bb842f720f1..077ad7eb2be 100644 --- a/org.eclipse.xtext.builder.standalone/src/org/eclipse/xtext/builder/standalone/compiler/CompilerConfiguration.java +++ b/org.eclipse.xtext.builder.standalone/src/org/eclipse/xtext/builder/standalone/compiler/CompilerConfiguration.java @@ -11,14 +11,15 @@ import java.io.File; import org.eclipse.xtext.resource.IResourceDescription; +import org.eclipse.xtext.util.JavaVersion; /** * @author Dennis Huebner - Initial contribution and API */ public class CompilerConfiguration { - private String sourceLevel = "8"; + private String sourceLevel = JavaVersion.DEFAULT.getQualifier(); - private String targetLevel = "8"; + private String targetLevel = JavaVersion.DEFAULT.getQualifier(); private boolean verbose; diff --git a/org.eclipse.xtext.common.types.eclipse.tests/tests/org/eclipse/xtext/common/types/access/jdt/MockJavaProjectProvider.java b/org.eclipse.xtext.common.types.eclipse.tests/tests/org/eclipse/xtext/common/types/access/jdt/MockJavaProjectProvider.java index dff7621aaea..0be6b725179 100755 --- a/org.eclipse.xtext.common.types.eclipse.tests/tests/org/eclipse/xtext/common/types/access/jdt/MockJavaProjectProvider.java +++ b/org.eclipse.xtext.common.types.eclipse.tests/tests/org/eclipse/xtext/common/types/access/jdt/MockJavaProjectProvider.java @@ -15,7 +15,6 @@ import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; -import java.util.Map; import java.util.Set; import org.eclipse.core.resources.ICommand; @@ -394,8 +393,8 @@ public static IJavaProject createJavaProject( javaProject.setRawClasspath(classpathEntries.toArray(new IClasspathEntry[classpathEntries.size()]), null); JavaProjectSetupUtil.addJreClasspathEntry(javaProject); - - makeJava8Compliant(javaProject); + + JavaProjectSetupUtil.makeDefaultCompliant(javaProject); javaProject.setOutputLocation(new Path("/" + projectName + "/bin"), null); createManifest(projectName, project); @@ -409,20 +408,6 @@ public static IJavaProject createJavaProject( return javaProject ; } - public static void makeJava8Compliant(IJavaProject javaProject) { - Map options= javaProject.getOptions(false); - options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_8); - options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_8); - options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_8); - options.put(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.ERROR); - options.put(JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.ERROR); - options.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE); - options.put(JavaCore.COMPILER_LINE_NUMBER_ATTR, JavaCore.GENERATE); - options.put(JavaCore.COMPILER_SOURCE_FILE_ATTR, JavaCore.GENERATE); - options.put(JavaCore.COMPILER_CODEGEN_UNUSED_LOCAL, JavaCore.PRESERVE); - javaProject.setOptions(options); - } - protected static void refreshExternalArchives(IJavaProject p) throws JavaModelException { IResourcesSetupUtil.waitForBuild(); getJavaModel().refreshExternalArchives(new IJavaElement[] {p}, null); diff --git a/org.eclipse.xtext.java.tests/src/org/eclipse/xtext/java/tests/JavaSourceLanguageTest.java b/org.eclipse.xtext.java.tests/src/org/eclipse/xtext/java/tests/JavaSourceLanguageTest.java index 520f40345f9..0e8b7492c2d 100644 --- a/org.eclipse.xtext.java.tests/src/org/eclipse/xtext/java/tests/JavaSourceLanguageTest.java +++ b/org.eclipse.xtext.java.tests/src/org/eclipse/xtext/java/tests/JavaSourceLanguageTest.java @@ -193,7 +193,7 @@ public void testJavaRecord() { + "\n" + "}\n" + "").build(); - XtextResourceSet rs = this.resourceSet(files, JavaVersion.JAVA21); + XtextResourceSet rs = this.resourceSet(files, JavaVersion.DEFAULT); Resource r1 = IterableExtensions.findFirst(rs.getResources(), it -> it.getURI().toString().endsWith("MyRecord.java")); Assert.assertEquals(1, r1.getContents().size()); diff --git a/org.eclipse.xtext.java/src/org/eclipse/xtext/java/resource/JavaDerivedStateComputer.java b/org.eclipse.xtext.java/src/org/eclipse/xtext/java/resource/JavaDerivedStateComputer.java index b7d84409e6d..c0e0c6b313b 100644 --- a/org.eclipse.xtext.java/src/org/eclipse/xtext/java/resource/JavaDerivedStateComputer.java +++ b/org.eclipse.xtext.java/src/org/eclipse/xtext/java/resource/JavaDerivedStateComputer.java @@ -263,8 +263,8 @@ protected CompilerOptions getCompilerOptions(ResourceSet resourceSet) { } protected CompilerOptions getCompilerOptions(JavaConfig javaConfig) { - JavaVersion sourceVersion = JavaVersion.JAVA8; - JavaVersion targetVersion = JavaVersion.JAVA8; + JavaVersion sourceVersion = JavaVersion.DEFAULT; + JavaVersion targetVersion = JavaVersion.DEFAULT; if (javaConfig != null) { if (javaConfig.getJavaSourceLevel() != null) { sourceVersion = javaConfig.getJavaSourceLevel(); diff --git a/org.eclipse.xtext.maven.plugin/src/main/java/org/eclipse/xtext/maven/AbstractXtextGeneratorMojo.java b/org.eclipse.xtext.maven.plugin/src/main/java/org/eclipse/xtext/maven/AbstractXtextGeneratorMojo.java index 4f09a156c2e..5c62f13c26b 100644 --- a/org.eclipse.xtext.maven.plugin/src/main/java/org/eclipse/xtext/maven/AbstractXtextGeneratorMojo.java +++ b/org.eclipse.xtext.maven.plugin/src/main/java/org/eclipse/xtext/maven/AbstractXtextGeneratorMojo.java @@ -29,6 +29,7 @@ import org.eclipse.xtext.resource.IResourceDescription; import org.eclipse.xtext.resource.persistence.IResourceStorageFacade; import org.eclipse.xtext.resource.persistence.StorageAwareResource; +import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.Strings; import org.eclipse.xtext.xbase.lib.IterableExtensions; @@ -95,10 +96,10 @@ public String getEncoding() { @Parameter(defaultValue = "true") private boolean failOnValidationError = true; - @Parameter(property = "maven.compiler.source", defaultValue = "21") + @Parameter(property = "maven.compiler.source", defaultValue = JavaVersion.DEFAULT_QUALIFIER) private String compilerSourceLevel; - @Parameter(property = "maven.compiler.target", defaultValue = "21") + @Parameter(property = "maven.compiler.target", defaultValue = JavaVersion.DEFAULT_QUALIFIER) private String compilerTargetLevel; /** * Create Java Source Code that is compatible to this Java release. diff --git a/org.eclipse.xtext.ui.testing/src/org/eclipse/xtext/ui/testing/util/JavaProjectSetupUtil.java b/org.eclipse.xtext.ui.testing/src/org/eclipse/xtext/ui/testing/util/JavaProjectSetupUtil.java index 51898cb6628..93d3e70ad2a 100644 --- a/org.eclipse.xtext.ui.testing/src/org/eclipse/xtext/ui/testing/util/JavaProjectSetupUtil.java +++ b/org.eclipse.xtext.ui.testing/src/org/eclipse/xtext/ui/testing/util/JavaProjectSetupUtil.java @@ -44,12 +44,14 @@ import org.eclipse.jdt.internal.core.ClasspathEntry; import org.eclipse.jdt.internal.core.JavaModelManager; import org.eclipse.jdt.internal.launching.StandardVMType; +import org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathSupport; import org.eclipse.jdt.launching.IVMInstall; import org.eclipse.jdt.launching.IVMInstall2; import org.eclipse.jdt.launching.JavaRuntime; import org.eclipse.jdt.launching.environments.IExecutionEnvironment; import org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager; import org.eclipse.xtext.ui.util.JREContainerProvider; +import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.RuntimeIOException; import org.eclipse.xtext.util.Wrapper; import org.eclipse.xtext.xbase.lib.Pair; @@ -357,8 +359,6 @@ public static void addJreClasspathEntry(IJavaProject javaProject) throws JavaMod * @since 2.17 */ public static void addJreClasspathEntry(IJavaProject javaProject, boolean build) throws JavaModelException { - // init default mappings - makeJava7Default(); IClasspathEntry existingJreContainerClasspathEntry = getJreContainerClasspathEntry(javaProject); if (existingJreContainerClasspathEntry == null) { addToClasspath(javaProject, JREContainerProvider.getDefaultJREContainerEntry(), build); @@ -422,13 +422,26 @@ public static void makeJava5Compliant(IJavaProject javaProject) { } /** + * @deprecated use {@link #makeDefaultCompliant(IJavaProject)} instead, which derives the compliance + * level from the project's JRE container instead of pinning it to Java 8 * @since 2.21 */ + @Deprecated public static void makeJava8Compliant(IJavaProject javaProject) { + makeCompliantFor(javaProject, JavaVersion.JAVA8); + } + + /** + * Sets the JDT compiler compliance/source/target options for the given {@code javaVersion}. + * + * @since 2.45 + */ + public static void makeCompliantFor(IJavaProject javaProject, JavaVersion javaVersion) { Map options= javaProject.getOptions(false); - options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_8); - options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_8); - options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_8); + String jreLevel = javaVersion.getQualifier(); + options.put(JavaCore.COMPILER_COMPLIANCE, jreLevel); + options.put(JavaCore.COMPILER_SOURCE, jreLevel); + options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, jreLevel); options.put(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.ERROR); options.put(JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.ERROR); options.put(JavaCore.COMPILER_LOCAL_VARIABLE_ATTR, JavaCore.GENERATE); @@ -438,6 +451,24 @@ public static void makeJava8Compliant(IJavaProject javaProject) { javaProject.setOptions(options); } + /** + * Makes the given project compliant with the execution environment of its JRE container entry, + * falling back to {@link JREContainerProvider#PREFERRED_BREE} if none can be determined. + * + * @since 2.45 + */ + public static void makeDefaultCompliant(IJavaProject javaProject) throws JavaModelException { + String executionEnvironmentId = null; + IClasspathEntry jreContainerEntry = getJreContainerClasspathEntry(javaProject); + if (jreContainerEntry != null) { + executionEnvironmentId = JavaRuntime.getExecutionEnvironmentId(jreContainerEntry.getPath()); + } + if (executionEnvironmentId == null) { + executionEnvironmentId = JREContainerProvider.PREFERRED_BREE; + } + BuildPathSupport.setEEComplianceOptions(javaProject, executionEnvironmentId, null); + } + public static IClasspathEntry getJreContainerClasspathEntry(IJavaProject javaProject) throws JavaModelException { return JREContainerProvider.getJREContainerEntry(javaProject); } diff --git a/org.eclipse.xtext.ui.tests/tests/org/eclipse/xtext/ui/tests/core/resource/Storage2UriMapperJavaImplTest.java b/org.eclipse.xtext.ui.tests/tests/org/eclipse/xtext/ui/tests/core/resource/Storage2UriMapperJavaImplTest.java index fa794418909..2759fe6d245 100644 --- a/org.eclipse.xtext.ui.tests/tests/org/eclipse/xtext/ui/tests/core/resource/Storage2UriMapperJavaImplTest.java +++ b/org.eclipse.xtext.ui.tests/tests/org/eclipse/xtext/ui/tests/core/resource/Storage2UriMapperJavaImplTest.java @@ -190,7 +190,7 @@ protected void execute(IProgressMonitor monitor) throws CoreException, Invocatio result.set(javaProject); addNature(project, JavaCore.NATURE_ID); JavaProjectSetupUtil.addSourceFolder(javaProject, "src", false); - JavaProjectSetupUtil.addJreClasspathEntry(javaProject, JavaVersion.JAVA11.getBree()); + JavaProjectSetupUtil.addJreClasspathEntry(javaProject, JavaVersion.DEFAULT.getBree()); IClasspathEntry defaultEntry = JavaProjectSetupUtil.getJreContainerClasspathEntry(javaProject); if (isModular(defaultEntry)) { diff --git a/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/util/JREContainerProvider.java b/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/util/JREContainerProvider.java index 58533402415..8692debb2af 100644 --- a/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/util/JREContainerProvider.java +++ b/org.eclipse.xtext.ui/src/org/eclipse/xtext/ui/util/JREContainerProvider.java @@ -43,7 +43,7 @@ public class JREContainerProvider { /** * @since 2.7 */ - public static final String PREFERRED_BREE = "JavaSE-21"; + public static final String PREFERRED_BREE = JavaVersion.DEFAULT.getBree(); private static IVMInstall defaultVMInstall = null; private static boolean defaultVMinitialized = false; @@ -99,7 +99,7 @@ protected static IPath newPrefferedContainerPath() { /** * @since 2.8 - * @return JRE container path {@link IPath} for standard VM {@value #PREFERRED_BREE} + * @return JRE container path {@link IPath} for standard VM {@link #PREFERRED_BREE} */ protected static IPath newPreferredContainerPath() { return newJREContainerPath(StandardVMType.ID_STANDARD_VM_TYPE, PREFERRED_BREE); diff --git a/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java b/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java index 6aaf010508e..532bf30412c 100644 --- a/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java +++ b/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java @@ -85,7 +85,7 @@ public enum JavaVersion { private static final class Constants { private static final int MAJOR_VERSION_1_5 = 49; private static final int MINOR_VERSION_0 = 0; - + private static final long JAVA8 = ((long)(MAJOR_VERSION_1_5 + 3) << 16) + MINOR_VERSION_0; private static final long JAVA9 = ((long)(MAJOR_VERSION_1_5 + 4) << 16) + MINOR_VERSION_0; private static final long JAVA10 = ((long)(MAJOR_VERSION_1_5 + 5) << 16) + MINOR_VERSION_0; @@ -95,6 +95,25 @@ private static final class Constants { private static final long JAVA25 = ((long)(MAJOR_VERSION_1_5 + 20) << 16) + MINOR_VERSION_0; } + /** + * The Java version that Xtext targets and requires by default, i.e. when no other version has been + * configured. This is the single place to change when Xtext's default/minimum supported Java version + * is raised. + * + * @since 2.45 + */ + public static final JavaVersion DEFAULT = JAVA21; + + /** + * The {@link #getQualifier() qualifier} of {@link #DEFAULT}, duplicated as a compile-time constant so + * that it can be used as the {@code defaultValue} of a Maven {@code @Parameter} annotation, which + * cannot reference {@link #DEFAULT} directly since that is not a constant expression. Keep in sync + * with {@link #DEFAULT}. + * + * @since 2.45 + */ + public static final String DEFAULT_QUALIFIER = "21"; + // if you introduce a new JavaVersion don't forget to adapt // - JavaVersionTest // - JavaVersionExtendedTest diff --git a/org.eclipse.xtext.xbase.testing/src/org/eclipse/xtext/xbase/testing/OnTheFlyJavaCompiler2.java b/org.eclipse.xtext.xbase.testing/src/org/eclipse/xtext/xbase/testing/OnTheFlyJavaCompiler2.java index 5f1b036ba14..3ee63ba6428 100644 --- a/org.eclipse.xtext.xbase.testing/src/org/eclipse/xtext/xbase/testing/OnTheFlyJavaCompiler2.java +++ b/org.eclipse.xtext.xbase.testing/src/org/eclipse/xtext/xbase/testing/OnTheFlyJavaCompiler2.java @@ -41,11 +41,11 @@ public class OnTheFlyJavaCompiler2 { private JavaVersion javaVersion; /** - * Creates a new OnTheFlyCompiler that accepts Java8 compliant code. + * Creates a new OnTheFlyCompiler that accepts {@link JavaVersion#DEFAULT} compliant code. */ @Inject public OnTheFlyJavaCompiler2(ClassLoader scope) { - this(scope, JavaVersion.JAVA8); + this(scope, JavaVersion.DEFAULT); } public OnTheFlyJavaCompiler2(ClassLoader scope, JavaVersion version) { diff --git a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/CompilationTestHelperTest.java b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/CompilationTestHelperTest.java index a039fe99cbf..dd0054e2d70 100644 --- a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/CompilationTestHelperTest.java +++ b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/CompilationTestHelperTest.java @@ -11,7 +11,6 @@ import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.xtext.resource.FileExtensionProvider; import org.eclipse.xtext.testing.TemporaryFolder; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.Strings; import org.eclipse.xtext.xbase.compiler.GeneratorConfig; import org.eclipse.xtext.xbase.compiler.GeneratorConfigProvider; @@ -85,7 +84,6 @@ public void testSwitchJavaVersion8() throws Exception { @Test public void testLambdaJavaVersion8() throws Exception { - compilationTestHelper.setJavaVersion(JavaVersion.JAVA8); String source = "{\n" + " val f = [ int i | i + 1 ]\n" + @@ -111,7 +109,6 @@ public void testLambdaJavaVersion8() throws Exception { @Test public void testCustomConfigIsNotLost() throws Exception { - compilationTestHelper.setJavaVersion(JavaVersion.JAVA8); String model = "{\n" + " val f = [ int i | i + 1 ]\n" + diff --git a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/JvmModelGeneratorTest.java b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/JvmModelGeneratorTest.java index a0cc50c3d34..b275d0b9a41 100644 --- a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/JvmModelGeneratorTest.java +++ b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/JvmModelGeneratorTest.java @@ -606,12 +606,16 @@ public void testMethodModifiers() throws Exception { })); it.setAbstract(true); }); - Class compiled = compile(expression.eResource(), clazz); + String code = generate(expression.eResource(), clazz); + // since Java 17 (JEP 306), javac/ecj no longer emit the ACC_STRICT class file flag, so + // strictfp can only be verified in the generated source, not via Modifier.isStrict(..) + Assert.assertTrue(code, code.contains("strictfp")); + Class compiled = compileToClass(expression.eResource(), clazz, code); Assert.assertTrue(Modifier.isStatic(compiled.getMethod("staticMethod").getModifiers())); Assert.assertTrue(Modifier.isFinal(compiled.getMethod("finalMethod").getModifiers())); Assert.assertTrue(Modifier.isAbstract(compiled.getMethod("abstractMethod").getModifiers())); Assert.assertTrue(Modifier.isSynchronized(compiled.getMethod("synchronizedMethod").getModifiers())); - Assert.assertTrue(Modifier.isStrict(compiled.getMethod("strictFpMethod").getModifiers())); + Assert.assertNotNull(compiled.getMethod("strictFpMethod")); Assert.assertTrue(Modifier.isNative(compiled.getMethod("nativeMethod").getModifiers())); } diff --git a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/NewLanguageFeaturesCompilerTest.java b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/NewLanguageFeaturesCompilerTest.java index b8a3a754a2b..69ba704eb5f 100644 --- a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/NewLanguageFeaturesCompilerTest.java +++ b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/compiler/NewLanguageFeaturesCompilerTest.java @@ -8,7 +8,6 @@ */ package org.eclipse.xtext.xbase.tests.compiler; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.xbase.compiler.output.FakeTreeAppendable; import org.junit.Test; @@ -33,7 +32,7 @@ public void testOverride() throws Exception { " }\n" + "};\n" + "final com.google.common.base.AbstractIterator x = _function;"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -45,7 +44,7 @@ public void testLamdba() throws Exception { " return Boolean.valueOf((!_isEmpty));\n" + "};\n" + "final Iterable x = org.eclipse.xtext.xbase.lib.IterableExtensions.filter(java.util.Collections.unmodifiableList(org.eclipse.xtext.xbase.lib.CollectionLiterals.newArrayList(\"a\", \"\", \"c\")), _function);"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -77,7 +76,7 @@ public void testSwitchOverString() throws Exception { " _switchResult = 3;\n" + "}\n" + "final int x = _switchResult;\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -87,7 +86,7 @@ public void testUnderscoreInNumericLiteral() throws Exception { " val x = 123_456_789\n" + "}\n"; String result = "final int x = 123_456_789;\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -98,7 +97,7 @@ public void testNewThread() throws Exception { "};\n" + "Thread _thread = new Thread(_function);\n" + "return _thread;\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -113,7 +112,7 @@ public void testBasicForLoop_8() throws Exception { " }\n" + "};\n" + "return _function;\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -133,7 +132,7 @@ public void testBasicForLoop_10() throws Exception { " return Integer.valueOf(i);\n" + "}).apply(); (i < 10);) {\n" + "}\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -146,7 +145,7 @@ public void testBug410797_01() throws Exception { "};\n" + "final boolean bug = (boolean) org.eclipse.xtext.xbase.lib.IterableExtensions.reduce(java.util.Collections.unmodifiableList(org.eclipse.xtext.xbase.lib.CollectionLiterals.newArrayList(Boolean.valueOf(true), Boolean.valueOf(false), Boolean.valueOf(true))), _function);\n" + ""; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -156,7 +155,7 @@ public void testImplicitReferenceToMultitype() throws Exception { " it.size();\n" + "};\n" + "com.google.common.collect.Iterables.>concat(((Iterable>) null), ((Iterable>) null)).forEach(_function);\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -167,7 +166,7 @@ public void testImplicitReferenceToSynonym_01() throws Exception { " org.eclipse.xtext.xbase.lib.ListExtensions.reverse(((java.util.List)org.eclipse.xtext.xbase.lib.Conversions.doWrapArray(it)));\n" + "};\n" + "((Iterable) null).forEach(_function);\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -179,7 +178,7 @@ public void testBlockHasNoSuperfluousBraces_03() throws Exception { " new Object();\n" + "};\n" + "org.eclipse.xtext.xbase.lib.Procedures.Procedure1 fun = _function;\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } @Test @@ -189,6 +188,6 @@ public void testExceptionOnClosure() throws Exception { "final java.beans.VetoableChangeListener _function = (java.beans.PropertyChangeEvent it) -> {\n" + "};\n" + "final java.beans.VetoableChangeListener x = _function;\n"; - compilesTo(xbaseCode, result, JavaVersion.JAVA8); + compilesTo(xbaseCode, result); } } diff --git a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/validation/JvmGenericTypeValidatorTestLangInjectorProviderCustom.java b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/validation/JvmGenericTypeValidatorTestLangInjectorProviderCustom.java index 158e5b5fe58..8ee66e3384b 100644 --- a/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/validation/JvmGenericTypeValidatorTestLangInjectorProviderCustom.java +++ b/org.eclipse.xtext.xbase.tests/src/org/eclipse/xtext/xbase/tests/validation/JvmGenericTypeValidatorTestLangInjectorProviderCustom.java @@ -8,8 +8,6 @@ *******************************************************************************/ package org.eclipse.xtext.xbase.tests.validation; -import org.eclipse.xtext.util.JavaVersion; -import org.eclipse.xtext.xbase.testing.JavaVersionModule; import org.eclipse.xtext.xbase.testlanguages.JvmGenericTypeValidatorTestLangStandaloneSetup; import org.eclipse.xtext.xbase.testlanguages.tests.JvmGenericTypeValidatorTestLangInjectorProvider; @@ -19,8 +17,7 @@ /** * To let the validator/scoping/linking find the Java classes of "testdata" referred in some tests also in an OSGI and Maven/Tycho * environment. This is required because the original {@link JvmGenericTypeValidatorTestLangInjectorProvider} is not in this bundle. - * Moreover, we configure Java 8. - * + * * @author Lorenzo Bettini - Initial contribution and API */ public class JvmGenericTypeValidatorTestLangInjectorProviderCustom extends JvmGenericTypeValidatorTestLangInjectorProvider { @@ -30,8 +27,7 @@ protected Injector internalCreateInjector() { return new JvmGenericTypeValidatorTestLangStandaloneSetup() { @Override public Injector createInjector() { - return Guice.createInjector(createRuntimeModule(), - new JavaVersionModule(JavaVersion.JAVA8)); + return Guice.createInjector(createRuntimeModule()); } }.createInjectorAndDoEMFRegistration(); } diff --git a/org.eclipse.xtext.xbase.ui.tests/src/org/eclipse/xtext/xbase/ui/tests/AbstractXbaseUITestCase.java b/org.eclipse.xtext.xbase.ui.tests/src/org/eclipse/xtext/xbase/ui/tests/AbstractXbaseUITestCase.java index 72761a7b353..31a67d8b204 100644 --- a/org.eclipse.xtext.xbase.ui.tests/src/org/eclipse/xtext/xbase/ui/tests/AbstractXbaseUITestCase.java +++ b/org.eclipse.xtext.xbase.ui.tests/src/org/eclipse/xtext/xbase/ui/tests/AbstractXbaseUITestCase.java @@ -110,7 +110,7 @@ public static IProject createPluginProject(String name) throws CoreException { projectFactory.addProjectNatures(JavaCore.NATURE_ID, "org.eclipse.pde.PluginNature", XtextProjectHelper.NATURE_ID); projectFactory.addRequiredBundles(Collections.singletonList("org.eclipse.xtext.xbase.lib")); IProject result = projectFactory.createProject(new NullProgressMonitor(), null); - JavaProjectSetupUtil.makeJava8Compliant(JavaCore.create(result)); + JavaProjectSetupUtil.makeDefaultCompliant(JavaCore.create(result)); JavaProjectSetupUtil.setUnixLineEndings(result); return result; } diff --git a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java index 7e4dae92d32..2a3d5ef2863 100644 --- a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java +++ b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderConfigurationBlock.java @@ -47,11 +47,15 @@ protected void createGeneralSectionItems(Composite composite) { "Use source compatibility level from Java settings", PREF_USE_COMPILER_SOURCE, BOOLEAN_VALUES, 0); - int valueCount = JavaVersion.values().length; - String[] values = new String[valueCount]; - String[] valueLabels = new String[valueCount]; - for (int i = 0; i < valueCount; i++) { - JavaVersion v = JavaVersion.values()[i]; + // JAVA5/6/7 are deprecated aliases of JAVA8 (kept only so that later constants keep their ordinal); + // they must not be offered here, or the combo would show "Java 8" four times and could persist a + // deprecated qualifier that - unlike its label suggests - does not behave like Java 8 (see + // JavaVersion.isAtLeast). + JavaVersion[] supportedVersions = getSupportedJavaVersions(); + String[] values = new String[supportedVersions.length]; + String[] valueLabels = new String[supportedVersions.length]; + for (int i = 0; i < supportedVersions.length; i++) { + JavaVersion v = supportedVersions[i]; values[i] = v.toString(); valueLabels[i] = v.getLabel(); } @@ -104,13 +108,39 @@ private void updateVersionCombo() { if (useCompliance) { String javaSourceOption = javaValue(JavaCore.COMPILER_SOURCE); JavaVersion javaVersion = preferenceAccess.fromCompilerSourceLevel(javaSourceOption); - JavaVersion selectedVersion = JavaVersion.values()[versionCombo.getSelectionIndex()]; + JavaVersion[] supportedVersions = getSupportedJavaVersions(); + JavaVersion selectedVersion = supportedVersions[versionCombo.getSelectionIndex()]; if (javaVersion != selectedVersion) { - versionCombo.select(javaVersion.ordinal()); + int index = indexOf(supportedVersions, javaVersion); + if (index >= 0) { + versionCombo.select(index); + } } } } + /** + * The subset of {@link JavaVersion#values()} that should actually be offered to users. This excludes the + * deprecated {@code JAVA5}/{@code JAVA6}/{@code JAVA7} aliases, which only exist to keep the ordinal of + * later constants stable. + */ + private JavaVersion[] getSupportedJavaVersions() { + JavaVersion[] allVersions = JavaVersion.values(); + int firstSupportedOrdinal = JavaVersion.JAVA8.ordinal(); + JavaVersion[] result = new JavaVersion[allVersions.length - firstSupportedOrdinal]; + System.arraycopy(allVersions, firstSupportedOrdinal, result, 0, result.length); + return result; + } + + private int indexOf(JavaVersion[] versions, JavaVersion version) { + for (int i = 0; i < versions.length; i++) { + if (versions[i] == version) { + return i; + } + } + return -1; + } + protected String javaValue(final String javaPreference) { IJavaProject javaProject = JavaCore.create(getProject()); if (javaProject != null && javaProject.exists() && javaProject.getProject().isAccessible()) { diff --git a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java index 3a2de72cc47..4edeceb50dc 100644 --- a/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java +++ b/org.eclipse.xtext.xbase.ui/src/org/eclipse/xtext/xbase/ui/builder/XbaseBuilderPreferenceAccess.java @@ -70,7 +70,7 @@ protected void initializeBuilderPreferences(IPreferenceStore store) { store.setDefault(USE_XBASE_GENERATED, true); store.setDefault(PREF_GENERATE_GENERATED, false); store.setDefault(PREF_DATE_IN_GENERATED, false); - store.setDefault(PREF_JAVA_VERSION, JavaVersion.JAVA8.toString()); + store.setDefault(PREF_JAVA_VERSION, JavaVersion.DEFAULT.toString()); store.setDefault(PREF_USE_COMPILER_SOURCE, true); } @@ -110,7 +110,7 @@ public JavaVersion getJavaVersion(Object context, IPreferenceStore preferenceSto // Fall back to default value } } - return JavaVersion.JAVA8; + return JavaVersion.DEFAULT; } public void setJavaVersion(Object context, JavaVersion version) { @@ -122,7 +122,7 @@ public void setJavaVersion(Object context, JavaVersion version) { public JavaVersion fromCompilerSourceLevel(String compilerSource) { JavaVersion javaVersion = JavaVersion.fromQualifier(compilerSource); if (javaVersion == null) - javaVersion = JavaVersion.JAVA8; + javaVersion = JavaVersion.DEFAULT; return javaVersion; } diff --git a/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java b/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java index f097f0ac84f..43aa830bdb8 100644 --- a/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java +++ b/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/compiler/GeneratorConfig.java @@ -55,7 +55,7 @@ public class GeneratorConfig { /** * Version of the Java Source code that's being generated by the compiler. */ - private JavaVersion javaSourceVersion = JavaVersion.JAVA8; + private JavaVersion javaSourceVersion = JavaVersion.DEFAULT; /** * Copy the values of the given generator configuration. diff --git a/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/typesystem/override/ResolvedFeatures.java b/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/typesystem/override/ResolvedFeatures.java index a87d0bde1e1..574d4eda17e 100644 --- a/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/typesystem/override/ResolvedFeatures.java +++ b/org.eclipse.xtext.xbase/src/org/eclipse/xtext/xbase/typesystem/override/ResolvedFeatures.java @@ -49,13 +49,16 @@ public class ResolvedFeatures extends AbstractResolvedFeatures { private List declaredOperations; private ListMultimap allOperationsPerErasure; private ListMultimap declaredOperationsPerErasure; - private JavaVersion targetVersion = JavaVersion.JAVA8; - + + /** + * @deprecated the {@code targetVersion} parameter is unused - every supported {@link JavaVersion} is + * at least Java 8, use {@link #ResolvedFeatures(LightweightTypeReference, OverrideTester)} instead + */ + @Deprecated public ResolvedFeatures(LightweightTypeReference type, OverrideTester overrideTester, JavaVersion targetVersion) { super(type, overrideTester); - this.targetVersion = targetVersion; } - + public ResolvedFeatures(LightweightTypeReference type, OverrideTester overrideTester) { super(type, overrideTester); } @@ -129,12 +132,7 @@ protected List computeAllOperations() { for (IResolvedOperation resolvedOperation : getDeclaredOperations()) { processedOperations.put(resolvedOperation.getDeclaration().getSimpleName(), (AbstractResolvedOperation) resolvedOperation); } - if (targetVersion.isAtLeast(JavaVersion.JAVA8)) { - computeAllOperationsFromSortedSuperTypes((JvmDeclaredType) rawType, processedOperations); - } else { - Set processedTypes = Sets.newHashSet(rawType); - computeAllOperationsFromSuperTypes((JvmDeclaredType) rawType, processedOperations, processedTypes); - } + computeAllOperationsFromSortedSuperTypes((JvmDeclaredType) rawType, processedOperations); // make sure the declared operations are the first in the list List result = new ArrayList(processedOperations.size()); result.addAll(getDeclaredOperations()); @@ -148,15 +146,7 @@ protected List computeAllOperations() { protected void computeAllOperations(JvmDeclaredType type, Multimap processedOperations) { for (JvmOperation operation: type.getDeclaredOperations()) { - boolean addToResult = true; - if (targetVersion.isAtLeast(JavaVersion.JAVA8)) { - addToResult = handleOverridesAndConflicts(operation, processedOperations); - } else { - String simpleName = operation.getSimpleName(); - if (processedOperations.containsKey(simpleName)) { - addToResult = !isOverridden(operation, processedOperations.get(simpleName)); - } - } + boolean addToResult = handleOverridesAndConflicts(operation, processedOperations); if (addToResult) { BottomResolvedOperation resolvedOperation = createResolvedOperation(operation); processedOperations.put(operation.getSimpleName(), resolvedOperation); @@ -164,17 +154,6 @@ protected void computeAllOperations(JvmDeclaredType type, Multimap processedOperations, - Set processedTypes) { - for (JvmTypeReference superType: type.getSuperTypes()) { - JvmType rawSuperType = superType.getType(); - if (rawSuperType instanceof JvmDeclaredType && !rawSuperType.eIsProxy() && processedTypes.add(rawSuperType)) { - computeAllOperations((JvmDeclaredType) rawSuperType, processedOperations); - computeAllOperationsFromSuperTypes((JvmDeclaredType) rawSuperType, processedOperations, processedTypes); - } - } - } - protected void computeAllOperationsFromSortedSuperTypes(JvmDeclaredType rootType, final Multimap processedOperations) { class SuperTypes extends TypesSwitch { diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/ManifestAccess.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/ManifestAccess.xtend index 800c579064c..908f32b0e71 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/ManifestAccess.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/ManifestAccess.xtend @@ -15,6 +15,7 @@ import java.util.Set import org.eclipse.xtend.lib.annotations.Accessors import org.eclipse.xtend2.lib.StringConcatenationClient import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.util.JavaVersion import org.eclipse.xtext.util.MergeableManifest2 import org.eclipse.xtext.util.Strings import org.eclipse.xtext.xtext.generator.IGuiceAwareGeneratorComponent @@ -112,7 +113,7 @@ class ManifestAccess extends TextFileAccess implements IGuiceAwareGeneratorCompo «IF !version.nullOrEmpty» Bundle-Version: «version» «ENDIF» - Bundle-RequiredExecutionEnvironment: JavaSE-21 + Bundle-RequiredExecutionEnvironment: «JavaVersion.DEFAULT.bree» Bundle-ActivationPolicy: lazy «IF !exportedPackages.empty» Export-Package: «FOR pack : exportedPackages.sort SEPARATOR ',\n '»«pack»«ENDFOR» diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/ManifestAccess.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/ManifestAccess.java index 2e11419f30f..658ca4c6fe8 100644 --- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/ManifestAccess.java +++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/ManifestAccess.java @@ -19,6 +19,7 @@ import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtend2.lib.StringConcatenationClient; import org.eclipse.xtext.generator.IFileSystemAccess2; +import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.MergeableManifest2; import org.eclipse.xtext.util.Strings; import org.eclipse.xtext.xbase.lib.CollectionLiterals; @@ -168,8 +169,10 @@ public CharSequence getContent() { _builder.newLineIfNotEmpty(); } } - _builder.append("Bundle-RequiredExecutionEnvironment: JavaSE-21"); - _builder.newLine(); + _builder.append("Bundle-RequiredExecutionEnvironment: "); + String _bree = JavaVersion.DEFAULT.getBree(); + _builder.append(_bree); + _builder.newLineIfNotEmpty(); _builder.append("Bundle-ActivationPolicy: lazy"); _builder.newLine(); { diff --git a/org.eclipse.xtext.xtext.ui/src/org/eclipse/xtext/xtext/ui/wizard/project/WizardNewXtextProjectCreationPage.java b/org.eclipse.xtext.xtext.ui/src/org/eclipse/xtext/xtext/ui/wizard/project/WizardNewXtextProjectCreationPage.java index 105867d673f..2565f23a476 100644 --- a/org.eclipse.xtext.xtext.ui/src/org/eclipse/xtext/xtext/ui/wizard/project/WizardNewXtextProjectCreationPage.java +++ b/org.eclipse.xtext.xtext.ui/src/org/eclipse/xtext/xtext/ui/wizard/project/WizardNewXtextProjectCreationPage.java @@ -142,7 +142,7 @@ protected void fillBreeCombo(Combo comboToFill) { availableBrees.add(ee.getId()); } for (JavaVersion supportedVersion : JavaVersion.values()) { - if (supportedVersion.isAtLeast(JavaVersion.JAVA21)) { + if (supportedVersion.isAtLeast(JavaVersion.DEFAULT)) { String bree = supportedVersion.getBree(); if (availableBrees.contains(bree)) brees.add(bree); @@ -230,7 +230,7 @@ protected boolean validatePage() { } JavaVersion javaVersion = JavaVersion.fromBree(breeCombo.getText()); if (javaVersion != null) { - if (!javaVersion.isAtLeast(JavaVersion.JAVA21)) { + if (!javaVersion.isAtLeast(JavaVersion.DEFAULT)) { setErrorMessage(Messages.WizardNewXtextProjectCreationPage_MessageAtLeastJava21); return false; } @@ -247,7 +247,7 @@ protected boolean validatePage() { private IStatus validateProjectName() { String projectName = getProjectName(); - IStatus status = JavaConventions.validatePackageName(projectName, JavaCore.VERSION_1_5, JavaCore.VERSION_1_5); + IStatus status = JavaConventions.validatePackageName(projectName, JavaCore.VERSION_11, JavaCore.VERSION_11); if (status.isOK()) { // https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.8 // for historical reasons only underscore and $ are accepted as package name, but not for Xtext projects diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend index 99f69464472..43c4ccdbd6d 100644 --- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend +++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.xtend @@ -10,7 +10,6 @@ package org.eclipse.xtext.xtext.wizard import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor import org.eclipse.xtext.util.JUnitVersion -import org.eclipse.xtext.util.JavaVersion @FinalFieldsConstructor class TargetPlatformProject extends ProjectDescriptor { @@ -54,11 +53,7 @@ class TargetPlatformProject extends ProjectDescriptor { - «IF config.javaVersion.isAtLeast(JavaVersion.JAVA25)» - - «ELSE» - - «ENDIF» + diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java index 72788ec8902..400b2a20637 100644 --- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java +++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java @@ -41,7 +41,7 @@ public class WizardConfiguration { private boolean needsGradleWrapper = true; - private JavaVersion javaVersion = JavaVersion.JAVA21; + private JavaVersion javaVersion = JavaVersion.DEFAULT; private LanguageServer languageServer = LanguageServer.NONE; diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/cli/CliProjectsCreatorMain.java b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/cli/CliProjectsCreatorMain.java index f6ed2426f73..9903dd2866a 100644 --- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/cli/CliProjectsCreatorMain.java +++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/cli/CliProjectsCreatorMain.java @@ -76,7 +76,7 @@ public enum ProjectType { private LanguageServer languageServer = LanguageServer.NONE; @Option(name = "-javaVersion", usage = "Java Version", handler = OptionHandlers.JavaVersionOptionHandler.class) - private JavaVersion javaVersion = JavaVersion.JAVA21; + private JavaVersion javaVersion = JavaVersion.DEFAULT; @Option(name = "-junitVersion", usage = "JUnit Version", handler = OptionHandlers.JUnitVersionOptionHandler.class) private JUnitVersion junitVersion = JUnitVersion.JUNIT_6; diff --git a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.java b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.java index 6f815ce59f1..4afbe031a5c 100644 --- a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.java +++ b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TargetPlatformProject.java @@ -16,7 +16,6 @@ import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.util.JUnitVersion; -import org.eclipse.xtext.util.JavaVersion; import org.eclipse.xtext.util.XtextVersion; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.ObjectExtensions; @@ -87,18 +86,12 @@ public CharSequence target() { _builder.append(_name); _builder.append("\">"); _builder.newLineIfNotEmpty(); - { - boolean _isAtLeast = this.getConfig().getJavaVersion().isAtLeast(JavaVersion.JAVA25); - if (_isAtLeast) { - _builder.append("\t"); - _builder.append(""); - _builder.newLine(); - } else { - _builder.append("\t"); - _builder.append(""); - _builder.newLine(); - } - } + _builder.append("\t"); + _builder.append(""); + _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append(""); _builder.newLine();