diff --git a/gradle/java-compiler-settings.gradle b/gradle/java-compiler-settings.gradle index 0f2146516..613961665 100644 --- a/gradle/java-compiler-settings.gradle +++ b/gradle/java-compiler-settings.gradle @@ -29,5 +29,7 @@ configurations { } sourceSets.main.compileClasspath += configurations.optional +sourceSets.test.compileClasspath += configurations.optional +sourceSets.test.runtimeClasspath += configurations.optional eclipse.classpath.plusConfigurations += [configurations.optional] javadoc.classpath += configurations.optional diff --git a/gradle/versions.gradle b/gradle/versions.gradle index d9268206f..2b20c7b77 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -15,5 +15,6 @@ ext.versions = [ 'guice': '3.0', 'antlr': '3.2', 'asm': '5.0.1', - 'icu': '52.1' + 'icu': '52.1', + 'junit': '4.12' ] diff --git a/org.eclipse.xtext.testlanguages/build.gradle b/org.eclipse.xtext.testlanguages/build.gradle index 11d02a497..eb90b5389 100644 --- a/org.eclipse.xtext.testlanguages/build.gradle +++ b/org.eclipse.xtext.testlanguages/build.gradle @@ -1,3 +1,5 @@ dependencies { - compile project(':org.eclipse.xtext.common.types') + compile project(':org.eclipse.xtext') + compile "org.eclipse.core:org.eclipse.core.runtime:$versions.eclipseCore" } + diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend index 2b0e40e30..243f08561 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/StandardLanguage.xtend @@ -8,6 +8,7 @@ package org.eclipse.xtext.xtext.generator import com.google.inject.Injector +import java.util.List import org.eclipse.xtend.lib.annotations.Accessors import org.eclipse.xtext.util.internal.Log import org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 @@ -29,6 +30,7 @@ import org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2 import org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 import org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 import org.eclipse.xtext.xtext.generator.ui.outline.QuickOutlineFragment2 +import org.eclipse.xtext.xtext.generator.ui.projectWizard.SimpleProjectWizardFragment2 import org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2 import org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 import org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 @@ -36,8 +38,6 @@ import org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 import org.eclipse.xtext.xtext.generator.web.WebIntegrationFragment import org.eclipse.xtext.xtext.generator.xbase.XbaseGeneratorFragment2 import org.eclipse.xtext.xtext.generator.xbase.XtypeGeneratorFragment2 -import java.util.List -import org.eclipse.xtext.xtext.generator.ui.projectWizard.SimpleProjectWizardFragment2 /** * @author Sven Efftinge - Initial contribution and API diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.xtend index 55f5d4bf0..0dc6aa050 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.xtend @@ -2,6 +2,7 @@ package org.eclipse.xtext.xtext.generator.junit import com.google.inject.Inject import com.google.inject.Injector +import org.eclipse.xtend.lib.annotations.Accessors import org.eclipse.xtext.xtext.generator.AbstractStubGeneratingFragment import org.eclipse.xtext.xtext.generator.XtextGeneratorNaming import org.eclipse.xtext.xtext.generator.model.FileAccessFactory @@ -12,14 +13,25 @@ import org.eclipse.xtext.xtext.generator.util.GenModelUtil2 import static extension org.eclipse.xtext.GrammarUtil.* class Junit4Fragment2 extends AbstractStubGeneratingFragment { + @Inject extension XtextGeneratorNaming @Inject FileAccessFactory fileAccessFactory - + + @Accessors(PUBLIC_SETTER) + boolean useDeprecatedClasses + + def protected getTestingPackage() { + if (useDeprecatedClasses) + "org.eclipse.xtext.junit4" + else + "org.eclipse.xtext.testing" + } + override generate() { if (projectConfig.runtimeTest.manifest != null) { projectConfig.runtimeTest.manifest => [ requiredBundles.addAll( - "org.eclipse.xtext.junit4", + testingPackage, "org.eclipse.xtext.xbase.lib" ) exportedPackages.add(grammar.runtimeTestBasePackage) @@ -59,11 +71,11 @@ class Junit4Fragment2 extends AbstractStubGeneratingFragment { generateUiInjectorProvider.writeTo(projectConfig.eclipsePluginTest.srcGen) } - def JavaFileAccess generateExampleRuntimeTest() { - val xtextRunner = new TypeReference("org.eclipse.xtext.junit4.XtextRunner") + def protected JavaFileAccess generateExampleRuntimeTest() { + val xtextRunner = new TypeReference(testingPackage + ".XtextRunner") val runWith = new TypeReference("org.junit.runner.RunWith") - val injectWith = new TypeReference("org.eclipse.xtext.junit4.InjectWith") - val parseHelper = new TypeReference("org.eclipse.xtext.junit4.util.ParseHelper") + val injectWith = new TypeReference(testingPackage + ".InjectWith") + val parseHelper = new TypeReference(testingPackage + ".util.ParseHelper") val test = new TypeReference("org.junit.Test") val assert = new TypeReference("org.junit.Assert") val rootType = new TypeReference(GenModelUtil2.getJavaTypeName(grammar.rules.head.type.classifier, grammar.eResource.resourceSet)) @@ -87,15 +99,15 @@ class Junit4Fragment2 extends AbstractStubGeneratingFragment { ''') } - def exampleRuntimeTest() { + def protected exampleRuntimeTest() { new TypeReference(grammar.runtimeTestBasePackage, grammar.simpleName + "ParsingTest") } - def JavaFileAccess generateInjectorProvider() { + def protected JavaFileAccess generateInjectorProvider() { val file = fileAccessFactory.createJavaFile(injectorProvider) - val globalRegistries = new TypeReference("org.eclipse.xtext.junit4.GlobalRegistries") - val globalStateMemento = new TypeReference("org.eclipse.xtext.junit4", "GlobalRegistries.GlobalStateMemento") - val iRegistryConfigurator = new TypeReference("org.eclipse.xtext.junit4.IRegistryConfigurator") + val globalRegistries = new TypeReference(testingPackage + ".GlobalRegistries") + val globalStateMemento = new TypeReference(testingPackage, "GlobalRegistries.GlobalStateMemento") + val iRegistryConfigurator = new TypeReference(testingPackage + ".IRegistryConfigurator") val classLoader = new TypeReference("java.lang.ClassLoader") val guice = new TypeReference("com.google.inject.Guice") file.content = ''' @@ -155,15 +167,15 @@ class Junit4Fragment2 extends AbstractStubGeneratingFragment { file } - def TypeReference iInjectorProvider() { - new TypeReference("org.eclipse.xtext.junit4.IInjectorProvider") + def protected TypeReference iInjectorProvider() { + new TypeReference(testingPackage + ".IInjectorProvider") } - def TypeReference injectorProvider() { + def protected TypeReference injectorProvider() { new TypeReference(grammar.runtimeTestBasePackage, grammar.simpleName + "InjectorProvider") } - def JavaFileAccess generateUiInjectorProvider() { + def protected JavaFileAccess generateUiInjectorProvider() { val file = fileAccessFactory.createJavaFile(uiInjectorProvider) file.content = ''' public class «uiInjectorProvider.simpleName» implements «iInjectorProvider» { @@ -178,7 +190,7 @@ class Junit4Fragment2 extends AbstractStubGeneratingFragment { file } - def TypeReference uiInjectorProvider() { + def protected TypeReference uiInjectorProvider() { new TypeReference(grammar.eclipsePluginTestBasePackage, grammar.simpleName + "UiInjectorProvider") } } \ No newline at end of file diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.java index d87d78825..6ef8012f0 100644 --- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.java +++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/junit/Junit4Fragment2.java @@ -10,6 +10,8 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.xtend.lib.annotations.AccessorType; +import org.eclipse.xtend.lib.annotations.Accessors; import org.eclipse.xtend2.lib.StringConcatenationClient; import org.eclipse.xtext.AbstractRule; import org.eclipse.xtext.Grammar; @@ -41,6 +43,19 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { @Inject private FileAccessFactory fileAccessFactory; + @Accessors(AccessorType.PUBLIC_SETTER) + private boolean useDeprecatedClasses; + + protected String getTestingPackage() { + String _xifexpression = null; + if (this.useDeprecatedClasses) { + _xifexpression = "org.eclipse.xtext.junit4"; + } else { + _xifexpression = "org.eclipse.xtext.testing"; + } + return _xifexpression; + } + @Override public void generate() { IXtextProjectConfig _projectConfig = this.getProjectConfig(); @@ -53,8 +68,8 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { ManifestAccess _manifest_1 = _runtimeTest_1.getManifest(); final Procedure1 _function = (ManifestAccess it) -> { Set _requiredBundles = it.getRequiredBundles(); - CollectionExtensions.addAll(_requiredBundles, - "org.eclipse.xtext.junit4", + String _testingPackage = this.getTestingPackage(); + CollectionExtensions.addAll(_requiredBundles, _testingPackage, "org.eclipse.xtext.xbase.lib"); Set _exportedPackages = it.getExportedPackages(); Grammar _grammar = this.getGrammar(); @@ -141,11 +156,17 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { } } - public JavaFileAccess generateExampleRuntimeTest() { - final TypeReference xtextRunner = new TypeReference("org.eclipse.xtext.junit4.XtextRunner"); + protected JavaFileAccess generateExampleRuntimeTest() { + String _testingPackage = this.getTestingPackage(); + String _plus = (_testingPackage + ".XtextRunner"); + final TypeReference xtextRunner = new TypeReference(_plus); final TypeReference runWith = new TypeReference("org.junit.runner.RunWith"); - final TypeReference injectWith = new TypeReference("org.eclipse.xtext.junit4.InjectWith"); - final TypeReference parseHelper = new TypeReference("org.eclipse.xtext.junit4.util.ParseHelper"); + String _testingPackage_1 = this.getTestingPackage(); + String _plus_1 = (_testingPackage_1 + ".InjectWith"); + final TypeReference injectWith = new TypeReference(_plus_1); + String _testingPackage_2 = this.getTestingPackage(); + String _plus_2 = (_testingPackage_2 + ".util.ParseHelper"); + final TypeReference parseHelper = new TypeReference(_plus_2); final TypeReference test = new TypeReference("org.junit.Test"); final TypeReference assert_ = new TypeReference("org.junit.Assert"); Grammar _grammar = this.getGrammar(); @@ -226,7 +247,7 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { return this.fileAccessFactory.createXtendFile(_exampleRuntimeTest, _client); } - public TypeReference exampleRuntimeTest() { + protected TypeReference exampleRuntimeTest() { Grammar _grammar = this.getGrammar(); String _runtimeTestBasePackage = this._xtextGeneratorNaming.getRuntimeTestBasePackage(_grammar); Grammar _grammar_1 = this.getGrammar(); @@ -235,14 +256,19 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { return new TypeReference(_runtimeTestBasePackage, _plus); } - public JavaFileAccess generateInjectorProvider() { + protected JavaFileAccess generateInjectorProvider() { JavaFileAccess _xblockexpression = null; { TypeReference _injectorProvider = this.injectorProvider(); final JavaFileAccess file = this.fileAccessFactory.createJavaFile(_injectorProvider); - final TypeReference globalRegistries = new TypeReference("org.eclipse.xtext.junit4.GlobalRegistries"); - final TypeReference globalStateMemento = new TypeReference("org.eclipse.xtext.junit4", "GlobalRegistries.GlobalStateMemento"); - final TypeReference iRegistryConfigurator = new TypeReference("org.eclipse.xtext.junit4.IRegistryConfigurator"); + String _testingPackage = this.getTestingPackage(); + String _plus = (_testingPackage + ".GlobalRegistries"); + final TypeReference globalRegistries = new TypeReference(_plus); + String _testingPackage_1 = this.getTestingPackage(); + final TypeReference globalStateMemento = new TypeReference(_testingPackage_1, "GlobalRegistries.GlobalStateMemento"); + String _testingPackage_2 = this.getTestingPackage(); + String _plus_1 = (_testingPackage_2 + ".IRegistryConfigurator"); + final TypeReference iRegistryConfigurator = new TypeReference(_plus_1); final TypeReference classLoader = new TypeReference("java.lang.ClassLoader"); final TypeReference guice = new TypeReference("com.google.inject.Guice"); StringConcatenationClient _client = new StringConcatenationClient() { @@ -440,11 +466,13 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { return _xblockexpression; } - public TypeReference iInjectorProvider() { - return new TypeReference("org.eclipse.xtext.junit4.IInjectorProvider"); + protected TypeReference iInjectorProvider() { + String _testingPackage = this.getTestingPackage(); + String _plus = (_testingPackage + ".IInjectorProvider"); + return new TypeReference(_plus); } - public TypeReference injectorProvider() { + protected TypeReference injectorProvider() { Grammar _grammar = this.getGrammar(); String _runtimeTestBasePackage = this._xtextGeneratorNaming.getRuntimeTestBasePackage(_grammar); Grammar _grammar_1 = this.getGrammar(); @@ -453,7 +481,7 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { return new TypeReference(_runtimeTestBasePackage, _plus); } - public JavaFileAccess generateUiInjectorProvider() { + protected JavaFileAccess generateUiInjectorProvider() { JavaFileAccess _xblockexpression = null; { TypeReference _uiInjectorProvider = this.uiInjectorProvider(); @@ -503,7 +531,7 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { return _xblockexpression; } - public TypeReference uiInjectorProvider() { + protected TypeReference uiInjectorProvider() { Grammar _grammar = this.getGrammar(); String _eclipsePluginTestBasePackage = this._xtextGeneratorNaming.getEclipsePluginTestBasePackage(_grammar); Grammar _grammar_1 = this.getGrammar(); @@ -511,4 +539,8 @@ public class Junit4Fragment2 extends AbstractStubGeneratingFragment { String _plus = (_simpleName + "UiInjectorProvider"); return new TypeReference(_eclipsePluginTestBasePackage, _plus); } + + public void setUseDeprecatedClasses(final boolean useDeprecatedClasses) { + this.useDeprecatedClasses = useDeprecatedClasses; + } } diff --git a/org.eclipse.xtext.xtext.wizard/build.gradle b/org.eclipse.xtext.xtext.wizard/build.gradle index da5bfd7df..dbf69e484 100644 --- a/org.eclipse.xtext.xtext.wizard/build.gradle +++ b/org.eclipse.xtext.xtext.wizard/build.gradle @@ -2,4 +2,4 @@ dependencies { compile project(':org.eclipse.xtext') } -sourceSets.main.resources.srcDirs += 'resources' \ No newline at end of file +sourceSets.main.resources.srcDir 'resources' diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.xtend b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.xtend index d61322a7a..b083e70ca 100644 --- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.xtend +++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.xtend @@ -16,7 +16,7 @@ class RuntimeTestProjectDescriptor extends TestProjectDescriptor { override getExternalDependencies() { val deps = newLinkedHashSet deps += super.externalDependencies - deps += createXtextDependency("org.eclipse.xtext.junit4") => [maven.scope = Scope.TESTCOMPILE] + deps += createXtextDependency("org.eclipse.xtext.testing") => [maven.scope = Scope.TESTCOMPILE] deps += createXtextDependency("org.eclipse.xtext.xbase.junit") => [maven.scope = Scope.TESTCOMPILE] deps } diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.xtend b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.xtend index a919d939b..579c7938f 100644 --- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.xtend +++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/WizardConfiguration.xtend @@ -28,7 +28,7 @@ class WizardConfiguration { ProjectLayout projectLayout = ProjectLayout.FLAT boolean needsGradleWrapper = true - JavaVersion javaVersion = JavaVersion.JAVA6 + JavaVersion javaVersion = JavaVersion.JAVA8 val LanguageDescriptor language = new LanguageDescriptor diff --git a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.java b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.java index 0aaaa0f82..9c6b7253a 100644 --- a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.java +++ b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/RuntimeTestProjectDescriptor.java @@ -32,7 +32,7 @@ public class RuntimeTestProjectDescriptor extends TestProjectDescriptor { final LinkedHashSet deps = CollectionLiterals.newLinkedHashSet(); Set _externalDependencies = super.getExternalDependencies(); Iterables.addAll(deps, _externalDependencies); - ExternalDependency _createXtextDependency = ExternalDependency.createXtextDependency("org.eclipse.xtext.junit4"); + ExternalDependency _createXtextDependency = ExternalDependency.createXtextDependency("org.eclipse.xtext.testing"); final Procedure1 _function = (ExternalDependency it) -> { ExternalDependency.MavenCoordinates _maven = it.getMaven(); _maven.setScope(Scope.TESTCOMPILE); diff --git a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java index b099b00f5..211aa5ee6 100644 --- a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java +++ b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/WizardConfiguration.java @@ -59,7 +59,7 @@ public class WizardConfiguration { private boolean needsGradleWrapper = true; - private JavaVersion javaVersion = JavaVersion.JAVA6; + private JavaVersion javaVersion = JavaVersion.JAVA8; private final LanguageDescriptor language = new LanguageDescriptor(); diff --git a/settings.gradle b/settings.gradle index fe59ef2dd..abd028f46 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,5 +7,6 @@ include 'org.eclipse.xtext.xtext.generator' include 'org.eclipse.xtext.xtext.wizard' include 'org.eclipse.xtext.testing' // Test project must be split before it works properly. -// include 'org.eclipse.xtext.tests' +include 'org.eclipse.xtext.tests' include 'org.eclipse.xtext.ide.tests' +include 'org.eclipse.xtext.testlanguages'