diff --git a/org.eclipse.xtext.tests/.gitignore b/org.eclipse.xtext.tests/.gitignore index d37c14278..7fd97b0e6 100644 --- a/org.eclipse.xtext.tests/.gitignore +++ b/org.eclipse.xtext.tests/.gitignore @@ -1,2 +1,3 @@ !src/org/eclipse/xtext/build !xtend-gen/org/eclipse/xtext/build +.antlr-generator-*.jar diff --git a/org.eclipse.xtext.tests/GenerateAllTestLanguages.mwe2.launch b/org.eclipse.xtext.tests/GenerateAllTestLanguages.mwe2.launch index 9d90b9b53..fc6618d25 100644 --- a/org.eclipse.xtext.tests/GenerateAllTestLanguages.mwe2.launch +++ b/org.eclipse.xtext.tests/GenerateAllTestLanguages.mwe2.launch @@ -9,7 +9,7 @@ - + diff --git a/org.eclipse.xtext.tests/build.gradle b/org.eclipse.xtext.tests/build.gradle index 072b1ef9e..a7241be22 100644 --- a/org.eclipse.xtext.tests/build.gradle +++ b/org.eclipse.xtext.tests/build.gradle @@ -14,11 +14,6 @@ dependencies { compile "org.eclipse.emf:org.eclipse.emf.ecore.xmi:$versions.emfEcore" // From the 'lib' folder compile name: 'simple' - - mwe2Compile "org.eclipse.xpand:org.eclipse.xpand:$versions.xpand" - mwe2Compile "org.eclipse.xtext:org.eclipse.xtext.generator:$versions.xtext_bootstrap" - mwe2Compile "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:$versions.xtext_bootstrap" - mwe2Compile "org.eclipse.xtext:org.eclipse.xtext.ecore:$versions.xtext_bootstrap" mwe2Runtime "org.eclipse.emf:org.eclipse.emf.mwe2.launch:$versions.emfMwe2" } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages.mwe2 index c97843cbb..380f869f2 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages.mwe2 @@ -9,7 +9,7 @@ module org.eclipse.xtext.GenerateAllTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -42,562 +42,524 @@ Workflow { registerGeneratedEPackage = "org.eclipse.emf.ecore.EcorePackage" } - bean = ecore.EcoreSupportStandaloneSetup {} + bean = tests.ecore.EcoreSupportStandaloneSetup {} component = DirectoryCleaner { directory = "${runtimeProject}/src-gen" } - component = DirectoryCleaner { - directory = "../../intellij/org.eclipse.xtext.core.idea.tests/src-gen" - } - component = org.eclipse.emf.mwe2.ecore.EcoreGenerator { genModel = "platform:/resource/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/ecore/GenModelAccessTest.genmodel" srcPath = "foo" lineDelimiter = lineDelimiter } -// component = org.eclipse.xtext.generator.ecore.GenModelAccessTestGenerator {} - component = Generator auto-inject { - mergeManifest = false - pathRtProject = runtimeProject - pathTestProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtime = { + manifest = { + merge = false + } + } + runtimeTest = { + enabled = true + root = runtimeProject + src = "${runtimeProject}/src" + srcGen = "${runtimeProject}/src-gen" + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } -// language = { -// uri = "classpath:/org/eclipse/xtext/generator/ecore/SuperTestLanguage.xtext" -// fragment = @TestLanguagesFragments { -// srcGenOnly = false -// } -// } -// language = { -// uri = "classpath:/org/eclipse/xtext/generator/ecore/SubTestLanguage.xtext" -// fragment = @TestLanguagesFragments {} -// } language = { - uri = "classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/generator/ecore/SuperTestLanguage.xtext" + fragment = @TestLanguagesFragments { + generateStub = true + } + } + language = { + grammarUri = "classpath:/org/eclipse/xtext/generator/ecore/SubTestLanguage.xtext" + fragment = @TestLanguagesFragments {} + } + language = { + grammarUri = "classpath:/org/eclipse/xtext/XtextGrammarTestLanguage.xtext" fragment = @TestLanguagesFragments {} } -// language = { -// uri = "classpath:/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.xtext" -// fragment = @TestLanguagesFragmentsEx { -// backtrack = true -// backtrackLexer = true -// memoize = true -// } -// } language = { - uri = "classpath:/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.xtext" + fragment = @TestLanguagesFragmentsEx { + backtrack = true + backtrackLexer = true + memoize = true + } + } + language = { + grammarUri = "classpath:/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { ignoreCase = true } } language = { - uri = "classpath:/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguage.xtext" - fragment = junit.Junit4Fragment {} + grammarUri = "classpath:/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguage.xtext" + fragment = junit.Junit4Fragment2 {} fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug287988TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug287988TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug289059TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug289059TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug313089TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug313089TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/ImportUriTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/ImportUriTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/LangATestLanguage.xtext" - fragment = CompositeGeneratorFragment { + grammarUri = "classpath:/org/eclipse/xtext/linking/LangATestLanguage.xtext" + fragment = CompositeGeneratorFragment2 { fragment = @TestLanguagesFragments { } - fragment = scoping.ImportNamespacesScopingFragment { + fragment = scoping.ImportNamespacesScopingFragment2 { } } } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug362902.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug362902.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/AbstractIgnoreCaseLinkingTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/AbstractIgnoreCaseLinkingTestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguage.xtext" - fragment = CompositeGeneratorFragment { + grammarUri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguage.xtext" + fragment = CompositeGeneratorFragment2 { fragment = @TestLanguagesFragments {} - fragment = scoping.ImportNamespacesScopingFragment { + fragment = scoping.ImportNamespacesScopingFragment2 {//XXX ImportURIScopingFragment ignoreCase = true } } } language = { - uri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseImportsTestLanguage.xtext" - fragment = CompositeGeneratorFragment { + grammarUri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseImportsTestLanguage.xtext" + fragment = CompositeGeneratorFragment2 { fragment = @TestLanguagesFragments {} - fragment = scoping.ImportURIScopingFragment { + fragment = scoping.ImportNamespacesScopingFragment2 { ignoreCase = true } } } language = { - uri = "classpath:/org/eclipse/xtext/linking/lazy/Bug311337TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/lazy/Bug311337TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/dummy/DummyTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/enumrules/EnumRulesTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/enumrules/EnumRulesTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/enumrules/EnumAndReferenceTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/enumrules/EnumAndReferenceTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/enumrules/MultiRuleEnumTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/enumrules/MultiRuleEnumTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/generator/ecore/EcoreFragmentTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/generator/ecore/EcoreFragmentTestLanguage.xtext" fragment = @TestLanguagesFragments { genModel = "platform:/resource/${projectName}/src/org/eclipse/xtext/generator/ecore/Genmodel.genmodel" } } language = { - uri = "classpath:/org/eclipse/xtext/generator/grammarAccess/GrammarAccessTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/generator/grammarAccess/GrammarAccessTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/BaseInheritanceTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/BaseInheritanceTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest2Language.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest2Language.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest3Language.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest3Language.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/index/IndexTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/index/IndexTestLanguage.xtext" fragment = @TestLanguagesFragmentsQualifiedNames {} } language = { - loadedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore" - loadedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerNsURI.ecore" - loadedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformPlugin.ecore" - loadedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformResource.ecore" - uri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/EcoreReferenceTestLanguage.xtext" + referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore" + referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerNsURI.ecore" + referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformPlugin.ecore" + referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformResource.ecore" + grammarUri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/EcoreReferenceTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289515TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289515TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524ExTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524ExTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889ExTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889ExTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug299237TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug299237TestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { ignoreCase = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935TestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug378967TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug378967TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935ExTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935ExTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { ignoreCase = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug443221TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug443221TestLanguage.xtext" fragment = @TestLanguagesFragmentsEx {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/assignments/AssignmentsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/assignments/AssignmentsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/assignments/Bug287184TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/assignments/Bug287184TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/assignments/Bug288432TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/assignments/Bug288432TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/bug419429/Bug419429.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/bug419429/Bug419429.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/datatyperules/DatatypeRulesTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/epatch/EpatchTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/epatch/EpatchTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguageEx.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguageEx.xtext" fragment = @TestLanguagesFragmentsEx auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/indentation/IndentationAwareTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/indentation/IndentationAwareTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx auto-inject { - srcGenOnly = false + generateStub = true } - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/keywords/KeywordsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/keywords/KeywordsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/TwoParametersTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/TwoParametersTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/NoParametersTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/NoParametersTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguageEx.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguageEx.xtext" fragment = @TestLanguagesFragmentsEx auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug292245TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug292245TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug297105TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug297105TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug317840TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug317840TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/EcoreTerminalsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/EcoreTerminalsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/TerminalRulesTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/TerminalRulesTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/UnicodeTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/UnicodeTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } - language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/UnorderedGroupsTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleUnorderedGroupsTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExUnorderedGroupsTestLanguage.xtext" - fragment = @TestLanguagesFragmentsExParseTreeConstructor {} - } language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/BacktrackingBug325745TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/BacktrackingBug325745TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleBacktrackingBug325745TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleBacktrackingBug325745TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExBacktrackingBug325745TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExBacktrackingBug325745TestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/formatting2/internal/FormatterTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/formatting2/internal/FormatterTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = generator.junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/formatting2/regionaccess/internal/RegionAccessTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/formatting2/regionaccess/internal/RegionAccessTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = generator.junit.Junit4Fragment {} + fragment = junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguage.xtext" - fragment = @TestLanguagesFragments {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/formatter/ElementMatcherTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/impl/Bug305397.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/PartialSerializationTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug299395TestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SerializationBug269362TestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SerializationErrorTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/HiddenTokensMergerTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor {} - } - language = { - uri = "classpath:/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/impl/Bug305397.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/serializer/SequencerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguage.xtext" + fragment = @TestLanguagesFragments {} + } + language = { + grammarUri = "classpath:/org/eclipse/xtext/serializer/SequencerTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/serializer/SyntacticSequencerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/serializer/SyntacticSequencerTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject { - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/serializer/ContextFinderTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/serializer/ContextFinderTestLanguage.xtext" fragment = @ TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/serializer/AssignmentFinderTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/serializer/AssignmentFinderTestLanguage.xtext" fragment = @ TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/unassignedtext/UnassignedTextTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/unassignedtext/UnassignedTextTestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/transientvalues/TransientValuesTest.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/transientvalues/TransientValuesTest.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/ActionTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/ActionTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/ActionTestLanguage2.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/ActionTestLanguage2.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/FowlerDslTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/FowlerDslTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/LookaheadTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/LookaheadTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/OptionalEmptyTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/OptionalEmptyTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/PartialParserTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/PartialParserTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/ReferenceGrammarTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/SimpleExpressionsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/SimpleExpressionsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/TreeTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/TreeTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/valueconverter/Bug250313.xtext" + grammarUri = "classpath:/org/eclipse/xtext/valueconverter/Bug250313.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/valueconverter/QualifiedNameTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/valueconverter/QualifiedNameTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/MultiValueFeatureTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/MultiValueFeatureTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/UnassignedRuleCallTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/UnassignedRuleCallTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/validation/ConcreteSyntaxValidationTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/validation/ConcreteSyntaxValidationTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/LocationProviderTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/LocationProviderTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/LiveContainerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/LiveContainerTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguage.xtext" fragment = @TestLanguagesFragments {} - fragment = generator.builder.BuilderIntegrationFragment {} + fragment = builder.BuilderIntegrationFragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/Bug385636TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/Bug385636TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/encoding/EncodingTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/encoding/EncodingTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/indent/IndentationAwareTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/indent/IndentationAwareTestLanguage.xtext" fragment = @TestLanguagesFragments {} } - /* - language = { uri = "classpath:/org/eclipse/xtext/generator/GeneratorTestLanguage.xtext" + language = { + grammarUri = "classpath:/org/eclipse/xtext/generator/GeneratorTestLanguage.xtext" fragment = @TestLanguagesFragments {} } - */ } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2 deleted file mode 100644 index f028bf3cb..000000000 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/GenerateAllTestLanguages2.mwe2 +++ /dev/null @@ -1,601 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - *******************************************************************************/ -module org.eclipse.xtext.GenerateAllTestLanguages2 - -import org.eclipse.emf.mwe2.runtime.workflow.Workflow -import org.eclipse.emf.mwe.utils.* -import org.eclipse.xtext.generator.* - -var projectName = "org.eclipse.xtext.tests" -var runtimeProject = "../${projectName}" -var ideaProject = "../../intellij/org.eclipse.xtext.core.idea.tests" -var lineDelimiter = '\n' - -Workflow { - bean = StandaloneSetup { - ignoreBrokenProjectFiles = true - platformUri = "${runtimeProject}/.." - scanClassPath = true - uriMap = { - from = "platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore" - to = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore" - } - uriMap = { - from = "platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel" - to = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" - } - registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/grammarinheritance/ametamodel.genmodel" - registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/generator/ecore/GenModelAccessTest.genmodel" - registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/generator/ecore/Genmodel.genmodel" - registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/generator/grammarAccess/ametamodel.genmodel" - registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/enumrules/enums.genmodel" - registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcoreReferences.genmodel" - registerGenModelFile = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/Xtext.genmodel" - registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" - - registerGeneratedEPackage = "org.eclipse.xtext.grammarinheritance.ametamodel.AmetamodelPackage" - registerGeneratedEPackage = "org.eclipse.xtext.XtextPackage" - registerGeneratedEPackage = "org.eclipse.emf.ecore.EcorePackage" - } - - bean = ecore.EcoreSupportStandaloneSetup {} - component = org.eclipse.emf.mwe2.ecore.EcoreGenerator { - genModel = "platform:/resource/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/ecore/GenModelAccessTest.genmodel" - srcPath = "foo" - lineDelimiter = lineDelimiter - } -// component = org.eclipse.xtext.generator.ecore.GenModelAccessTestGenerator {} - - component = xtext.generator.XtextGenerator { - cleaner = { - enabled = false - } - configuration = xtext.generator.DefaultGeneratorModule { - code = { - preferXtendStubs = false - fileHeader = -"/* - * generated by Xtext - */" - } - project = TestProjectConfig { - baseName = projectName - rootPath = ".." - runtime = { - enabled = true - root = runtimeProject - } - runtimeTest = { - enabled = true - root = runtimeProject - } - ideaPlugin = { - enabled = true - root = ideaProject - overwriteSrc = true - } - genericIde = { - enabled = true - root = ideaProject - overwriteSrc = true - } - } - } -// language = TestLanguage { -// name = "org.eclipse.xtext.generator.ecore.SuperTestLanguage" -// ideaPlugin = { -// generateXtendStub = true -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.generator.ecore.SubTestLanguage" -// ideaPlugin = { -// generateXtendStub = true -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.XtextGrammarTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.lexer.BacktrackingLexerTestLanguage" -// parserOptions = { -// backtrack = true -// backtrackLexer = true -// memoize = true -// classSplitting = true -// } -// } -// -// language = TestLanguage { -// name = "org.eclipse.xtext.lexer.IgnoreCaseLexerTestLanguage" -// parserGenerator = { -// options = { -// ignoreCase = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.lazy.LazyLinkingTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.Bug287988TestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.Bug289059TestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.Bug313089TestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.ImportUriTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.LangATestLanguage" -// fragment = xtext.generator.scoping.ImportNamespacesScopingFragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.Bug362902" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.AbstractIgnoreCaseLinkingTestLanguage" -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.IgnoreCaseNamespacesTestLanguage" -// fragment = xtext.generator.scoping.ImportNamespacesScopingFragment2 { -// ignoreCase = true -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.IgnoreCaseImportsTestLanguage" -// fragment = adapter.FragmentAdapter { -// fragment = scoping.ImportURIScopingFragment { -// ignoreCase = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.linking.lazy.Bug311337TestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.dummy.DummyTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.enumrules.EnumRulesTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.enumrules.EnumAndReferenceTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.enumrules.MultiRuleEnumTestLanguage" -// } - -// language = TestLanguage { -// name = "org.eclipse.xtext.generator.ecore.EcoreFragmentTestLanguage" -// referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/generator/ecore/Genmodel.genmodel" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.generator.grammarAccess.GrammarAccessTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.grammarinheritance.AbstractTestLanguage" -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.grammarinheritance.BaseInheritanceTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.grammarinheritance.ConcreteTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.grammarinheritance.InheritanceTestLanguage" -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.grammarinheritance.InheritanceTest2Language" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.grammarinheritance.InheritanceTest3Language" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.index.IndexTestLanguage" -// } -// language = TestLanguage { -// referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore" -// referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerNsURI.ecore" -// referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformPlugin.ecore" -// referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformResource.ecore" -// name = "org.eclipse.xtext.metamodelreferencing.tests.EcoreReferenceTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.metamodelreferencing.tests.MetamodelRefTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.metamodelreferencing.tests.MultiGenMMTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug289515TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug289524TestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug289524ExTestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug296889TestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug296889ExTestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug299237TestLanguage" -// parserGenerator = { -// options = { -// ignoreCase = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug301935TestLanguage" -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug378967TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug301935ExTestLanguage" -// parserGenerator = { -// options = { -// ignoreCase = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.antlr.Bug443221TestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.assignments.Bug287184TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.assignments.Bug288432TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.bug419429.Bug419429" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.epatch.EpatchTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.fragments.FragmentTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.fragments.FragmentTestLanguageEx" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.indentation.IndentationAwareTestLanguage" -// serializer = { -// generateStub = false -// } -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.keywords.KeywordsTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.parameters.ParametersTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.parameters.TwoParametersTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.parameters.NoParametersTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.parameters.ParametersTestLanguageEx" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.Bug292245TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.Bug297105TestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.Bug317840TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.EcoreTerminalsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.HiddenTerminalsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.TerminalRulesTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.UnicodeTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.terminalrules.XtextTerminalsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.unorderedGroups.UnorderedGroupsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.unorderedGroups.SimpleUnorderedGroupsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.unorderedGroups.ExUnorderedGroupsTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.unorderedGroups.BacktrackingBug325745TestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.unorderedGroups.SimpleBacktrackingBug325745TestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.unorderedGroups.ExBacktrackingBug325745TestLanguage" -// parserGenerator = { -// options = { -// backtrack = true -// } -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.formatting2.internal.FormatterTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.formatting2.regionaccess.internal.RegionAccessTestLanguage" -// fragment = xtext.generator.junit.Junit4Fragment2 {} -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.formatter.FormatterTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.formatter.ElementMatcherTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.impl.Bug305397" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.impl.CommentAssociationTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.PartialSerializationTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.Bug299395TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.ComplexReconstrTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.SimpleReconstrTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.SerializationBug269362TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.SerializationErrorTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.HiddenTokensMergerTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.reconstr.Bug302128TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.serializer.HiddenTokenSequencerTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.serializer.SequencerTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.serializer.SyntacticSequencerTestLanguage" -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.serializer.ContextFinderTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.serializer.AssignmentFinderTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.unassignedtext.UnassignedTextTestLanguage" -// serializer = { -// generateStub = false -// } -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parsetree.transientvalues.TransientValuesTest" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.ActionTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.ActionTestLanguage2" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.FowlerDslTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.LookaheadTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.OptionalEmptyTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.PartialParserTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.ReferenceGrammarTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.SimpleExpressionsTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.TestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.TreeTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.valueconverter.Bug250313" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.valueconverter.QualifiedNameTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.xtext.ecoreInference.MultiValueFeatureTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.xtext.ecoreInference.UnassignedRuleCallTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.validation.ConcreteSyntaxValidationTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.resource.EObjectAtOffsetTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.resource.LocationProviderTestLanguage" -// -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.resource.LiveContainerTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.resource.LiveContainerBuilderIntegerationTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.resource.Bug385636TestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.parser.encoding.EncodingTestLanguage" -// } -// language = TestLanguage { -// name = "org.eclipse.xtext.testlanguages.indent.IndentationAwareTestLanguage" -// -// } - } - -} - - diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragments.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragments.mwe2 index 7928a5857..b0b44d93c 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragments.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragments.mwe2 @@ -1,34 +1,23 @@ module org.eclipse.xtext.TestLanguagesFragments -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var genModel = "" -var basePackage = "" -var javaModelDirectory = "" -var xmiModelDirectory = "" -var file.extensions = "" var classSplitting = true var skipGenerate = false var backtrack = false var memoize = false var generateDebugData = false -var srcGenOnly=true +var generateStub = false var emfRuntimeVersion = "2.9" -var runtimeProjectName = "org.eclipse.xtext.tests" -var runtimeProjectPath = "../${runtimeProjectName}" -var ideaProjectName = "org.eclipse.xtext.core.idea.tests" -var ideaProjectPath = "../../intellij/${ideaProjectName}" - -CompositeGeneratorFragment { - fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { +CompositeGeneratorFragment2 { + fragment = parser.antlr.XtextAntlrGeneratorFragment2 auto-inject { options = auto-inject {} + debugGrammar = true } - fragment = parser.antlr.DebugAntlrGeneratorFragment auto-inject {} - fragment = resourceFactory.ResourceFactoryFragment { - fileExtensions = file.extensions - } - fragment = grammarAccess.GrammarAccessFragment auto-inject {} - fragment = ecore.EcoreGeneratorFragment auto-inject {} - fragment = serializer.SerializerFragment auto-inject {} + fragment = resourceFactory.ResourceFactoryFragment2 {} + fragment = grammarAccess.GrammarAccessFragment2 auto-inject {} + fragment = tests.TestsEMFGeneratorFragment auto-inject {} + fragment = serializer.SerializerFragment2 auto-inject {} } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsEx.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsEx.mwe2 index 6ef5dd30d..bfae1d394 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsEx.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsEx.mwe2 @@ -7,34 +7,24 @@ *******************************************************************************/ module org.eclipse.xtext.TestLanguagesFragmentsEx -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* -var basePackage = "" -var javaModelDirectory = "" -var xmiModelDirectory = "" -var file.extensions = "" +var genModel = "" var classSplitting = true var skipGenerate = false var backtrack = false var memoize = false var ignoreCase = false var backtrackLexer = false -var srcGenOnly=true +var generateStub = false var emfRuntimeVersion = "2.9" -var runtimeProjectName = "org.eclipse.xtext.tests" -var runtimeProjectPath = "../${runtimeProjectName}" -var ideaProjectName = "org.eclipse.xtext.core.idea.tests" -var ideaProjectPath = "../../intellij/${ideaProjectName}" - -CompositeGeneratorFragment { - fragment = parser.antlr.ex.rt.AntlrGeneratorFragment auto-inject { +CompositeGeneratorFragment2 { + fragment = parser.antlr.XtextAntlrGeneratorFragment2 auto-inject { //XXX parser.antlr.ex.rt.AntlrGeneratorFragment options = auto-inject {} } - fragment = resourceFactory.ResourceFactoryFragment { - fileExtensions = file.extensions - } - fragment = grammarAccess.GrammarAccessFragment auto-inject {} - fragment = ecore.EcoreGeneratorFragment auto-inject {} - fragment = serializer.SerializerFragment auto-inject {} + fragment = resourceFactory.ResourceFactoryFragment2 {} + fragment = grammarAccess.GrammarAccessFragment2 auto-inject {} + fragment = tests.TestsEMFGeneratorFragment auto-inject {} + fragment = serializer.SerializerFragment2 auto-inject {} } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsExParseTreeConstructor.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsExParseTreeConstructor.mwe2 deleted file mode 100644 index 82539ce41..000000000 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsExParseTreeConstructor.mwe2 +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - *******************************************************************************/ -module org.eclipse.xtext.TestLanguagesFragmentsExParseTreeConstructor - -import org.eclipse.xtext.generator.* - -var basePackage = "" -var javaModelDirectory = "" -var xmiModelDirectory = "" -var file.extensions = "" -var classSplitting = true -var skipGenerate = false -var backtrack = false -var memoize = false -var ignoreCase = false -var backtrackLexer = false -var generateDotDiagram = false -var srcGenOnly = true -var graphvizCommand = "" -var emfRuntimeVersion = "2.9" - -var runtimeProjectName = "org.eclipse.xtext.tests" -var runtimeProjectPath = "../${runtimeProjectName}" -var ideaProjectName = "org.eclipse.xtext.core.idea.tests" -var ideaProjectPath = "../../intellij/${ideaProjectName}" - -CompositeGeneratorFragment { - fragment = parser.antlr.ex.rt.AntlrGeneratorFragment auto-inject { - options = auto-inject {} - } - fragment = resourceFactory.ResourceFactoryFragment { - fileExtensions = file.extensions - } - fragment = grammarAccess.GrammarAccessFragment auto-inject {} - fragment = ecore.EcoreGeneratorFragment auto-inject {} - fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {} -} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsParseTreeConstructor.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsParseTreeConstructor.mwe2 deleted file mode 100644 index c952a92ae..000000000 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsParseTreeConstructor.mwe2 +++ /dev/null @@ -1,34 +0,0 @@ -module org.eclipse.xtext.TestLanguagesFragmentsParseTreeConstructor - -import org.eclipse.xtext.generator.* - -var genModel = "" -var basePackage = "" -var javaModelDirectory = "" -var xmiModelDirectory = "" -var file.extensions = "" -var classSplitting = true -var skipGenerate = false -var backtrack = false -var memoize = false -var generateDotDiagram = false -var srcGenOnly = true -var graphvizCommand = "" -var emfRuntimeVersion = "2.9" - -var runtimeProjectName = "org.eclipse.xtext.tests" -var runtimeProjectPath = "../${runtimeProjectName}" -var ideaProjectName = "org.eclipse.xtext.core.idea.tests" -var ideaProjectPath = "../../intellij/${ideaProjectName}" - -CompositeGeneratorFragment { - fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { - options = auto-inject {} - } - fragment = resourceFactory.ResourceFactoryFragment { - fileExtensions = file.extensions - } - fragment = grammarAccess.GrammarAccessFragment auto-inject {} - fragment = ecore.EcoreGeneratorFragment auto-inject {} - fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {} -} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsQualifiedNames.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsQualifiedNames.mwe2 index 6c2282e1c..bf7674808 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsQualifiedNames.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestLanguagesFragmentsQualifiedNames.mwe2 @@ -7,32 +7,21 @@ *******************************************************************************/ module org.eclipse.xtext.TestLanguagesFragmentsQualifiedNames -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* -var basePackage = "" -var javaModelDirectory = "" -var xmiModelDirectory = "" -var file.extensions = "" +var genModel = "" var classSplitting = true var skipGenerate = false var backtrack = false -var srcGenOnly=true var emfRuntimeVersion = "2.9" -var runtimeProjectName = "org.eclipse.xtext.tests" -var runtimeProjectPath = "../${runtimeProjectName}" -var ideaProjectName = "org.eclipse.xtext.core.idea.tests" -var ideaProjectPath = "../../intellij/${ideaProjectName}" - -CompositeGeneratorFragment { - fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { +CompositeGeneratorFragment2 { + fragment = parser.antlr.XtextAntlrGeneratorFragment2 auto-inject { options = auto-inject {} } - fragment = resourceFactory.ResourceFactoryFragment { - fileExtensions = file.extensions - } - fragment = grammarAccess.GrammarAccessFragment auto-inject {} - fragment = ecore.EcoreGeneratorFragment auto-inject {} - fragment = serializer.SerializerFragment auto-inject {} - fragment = builder.BuilderIntegrationFragment {} + fragment = resourceFactory.ResourceFactoryFragment2 {} + fragment = grammarAccess.GrammarAccessFragment2 auto-inject {} + fragment = tests.TestsEMFGeneratorFragment auto-inject {} + fragment = serializer.SerializerFragment2 auto-inject {} + fragment = builder.BuilderIntegrationFragment2 {} } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestProjectConfig.xtend b/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestProjectConfig.xtend deleted file mode 100644 index 7d069a5ba..000000000 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/TestProjectConfig.xtend +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - *******************************************************************************/ -package org.eclipse.xtext - -import org.eclipse.xtext.xtext.generator.model.project.StandardProjectConfig -import org.eclipse.xtext.xtext.generator.model.project.SubProjectConfig - -/** - * @author Christian Schneider - Initial contribution and API - */ -class TestProjectConfig extends StandardProjectConfig { - - /** - * Put the 'srcGen' classes generated for those test languages that are migrated - * to the new generator infrastructure into a separate source folder! - */ - override protected computeSrcGen(SubProjectConfig project) { - return super.computeSrcGen(project) + "2" - } -} \ No newline at end of file diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/enumrules/GenerateEnumRuleTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/enumrules/GenerateEnumRuleTestLanguage.mwe2 index 8b72db725..8e22801e8 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/enumrules/GenerateEnumRuleTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/enumrules/GenerateEnumRuleTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.enumrules.GenerateEnumRuleTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -26,20 +26,31 @@ Workflow { directory="${runtimeProject}/src-gen/org/eclipse/xtext/enumrules" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/enumrules/EnumRulesTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/enumrules/EnumRulesTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/enumrules/EnumAndReferenceTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/enumrules/EnumAndReferenceTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/enumrules/MultiRuleEnumTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/enumrules/MultiRuleEnumTestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/formatting2/internal/GenerateFormatterTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/formatting2/internal/GenerateFormatterTestLanguages.mwe2 index e75c1f6ad..f7b53c57a 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/formatting2/internal/GenerateFormatterTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/formatting2/internal/GenerateFormatterTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parsetree.formatter.GenerateFormatterTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,19 +25,36 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/formatting2" } - component = Generator auto-inject { - pathRtProject = runtimeProject - pathTestProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtimeTest = { + enabled = true + root = runtimeProject + src = "${runtimeProject}/src" + srcGen = "${runtimeProject}/src-gen" + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } + language = { - uri = "classpath:/org/eclipse/xtext/formatting2/internal/FormatterTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject {} - fragment = generator.junit.Junit4Fragment {} + grammarUri = "classpath:/org/eclipse/xtext/formatting2/internal/FormatterTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/formatting2/regionaccess/internal/RegionAccessTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject {} - fragment = generator.junit.Junit4Fragment {} + grammarUri = "classpath:/org/eclipse/xtext/formatting2/regionaccess/internal/RegionAccessTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } } } \ No newline at end of file diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/ecore/SubTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/ecore/SubTestLanguage.mwe2 index 93b5507b0..4aafc2bb7 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/ecore/SubTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/ecore/SubTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.generator.ecore.SubTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.TestLanguagesFragments -import org.eclipse.xtext.generator.Generator +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -21,12 +21,23 @@ Workflow { platformUri="${runtimeProject}/.." } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/generator/ecore/SubTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/generator/ecore/SubTestLanguage.xtext" fragment = @TestLanguagesFragments { } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/GenerateGrammarAccessTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/GenerateGrammarAccessTestLanguage.mwe2 index d00b608cd..53fbf02ff 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/GenerateGrammarAccessTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/generator/grammarAccess/GenerateGrammarAccessTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.generator.grammarAccess.GenerateGrammarAccessTestLangua import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.TestLanguagesFragments -import org.eclipse.xtext.generator.Generator +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,15 +25,26 @@ Workflow { directory="${runtimeProject}/src-gen/org/eclipse/xtext/generator/grammarAccess" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/generator/grammarAccess/GrammarAccessTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/generator/grammarAccess/GrammarAccessTestLanguage.xtext" fragment = @TestLanguagesFragments { } - fragment = org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment auto-inject {} + fragment = grammarAccess.GrammarAccessFragment2 auto-inject {} } } } \ No newline at end of file diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/GenerateInheritanceLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/GenerateInheritanceLanguages.mwe2 index 586b3cfc4..00ce9e15c 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/GenerateInheritanceLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/grammarinheritance/GenerateInheritanceLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.grammarinheritance.GenerateInheritanceLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -42,35 +42,48 @@ Workflow { directory="${runtimeProject}/../../intellij/org.eclipse.xtext.core.idea.tests/src-gen/org/eclipse/xtext/grammarinheritance/idea" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + encoding = encoding + preferXtendStubs = false + } + } + language = auto-inject { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/AbstractTestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = auto-inject { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/BaseInheritanceTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/BaseInheritanceTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = auto-inject { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/ConcreteTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = auto-inject { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTestLanguage.xtext" fragment = @TestLanguagesFragments { - srcGenOnly = false + generateStub = true } } language = auto-inject { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest2Language.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest2Language.xtext" fragment = @TestLanguagesFragments {} } language = auto-inject { - uri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest3Language.xtext" + grammarUri = "classpath:/org/eclipse/xtext/grammarinheritance/InheritanceTest3Language.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.mwe2 index 48f86a20d..b68d3ba25 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.lexer.BacktrackingLexerTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,12 +25,23 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/lexer" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/lexer/BacktrackingLexerTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { backtrack = true memoize = true diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.mwe2 index e638f19f5..50e904194 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.lexer.IgnoreCaseLexerTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -26,12 +26,23 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/lexer" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/lexer/IgnoreCaseLexerTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { ignoreCase = true } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/GenerateLinkingTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/GenerateLinkingTestLanguages.mwe2 index 7eccd5069..353249e44 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/GenerateLinkingTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/linking/GenerateLinkingTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.linking.GenerateLinkingTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,70 +25,86 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/linking" } - component = Generator auto-inject { - pathRtProject = runtimeProject - pathTestProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtimeTest = { + enabled = true + root = runtimeProject + src = "${runtimeProject}/src" + srcGen = "${runtimeProject}/src-gen" + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug287988TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug287988TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug289059TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug289059TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug313089TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug313089TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/ImportUriTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/ImportUriTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/LangATestLanguage.xtext" - fragment = CompositeGeneratorFragment { + grammarUri = "classpath:/org/eclipse/xtext/linking/LangATestLanguage.xtext" + fragment = xtext.generator.CompositeGeneratorFragment2 { fragment = @TestLanguagesFragments { } - fragment = scoping.ImportNamespacesScopingFragment { + fragment = xtext.generator.scoping.ImportNamespacesScopingFragment2 { } } } language = { - uri = "classpath:/org/eclipse/xtext/linking/Bug362902.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/Bug362902.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/AbstractIgnoreCaseLinkingTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/AbstractIgnoreCaseLinkingTestLanguage.xtext" fragment = @TestLanguagesFragments { } } language = { - uri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguage.xtext" - fragment = CompositeGeneratorFragment { + grammarUri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseNamespacesTestLanguage.xtext" + fragment = xtext.generator.CompositeGeneratorFragment2 { fragment = @TestLanguagesFragments {} - fragment = scoping.ImportNamespacesScopingFragment { + fragment = xtext.generator.scoping.ImportNamespacesScopingFragment2 { ignoreCase = true } } } language = { - uri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseImportsTestLanguage.xtext" - fragment = CompositeGeneratorFragment { + grammarUri = "classpath:/org/eclipse/xtext/linking/IgnoreCaseImportsTestLanguage.xtext" + fragment = xtext.generator.CompositeGeneratorFragment2 { fragment = @TestLanguagesFragments {} - fragment = scoping.ImportURIScopingFragment { + fragment = xtext.generator.scoping.ImportNamespacesScopingFragment2 { //XXX ImportURIScopingFragment ignoreCase = true } } } language = { - uri = "classpath:/org/eclipse/xtext/linking/lazy/Bug311337TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/linking/lazy/Bug311337TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguage.xtext" - fragment = generator.junit.Junit4Fragment {} + grammarUri = "classpath:/org/eclipse/xtext/linking/lazy/LazyLinkingTestLanguage.xtext" + fragment = xtext.generator.junit.Junit4Fragment2 {} fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/metamodelreferencing/tests/GenerateMetamodelReferencing.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/metamodelreferencing/tests/GenerateMetamodelReferencing.mwe2 index 88a8523c0..eaf38ba0a 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/metamodelreferencing/tests/GenerateMetamodelReferencing.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/metamodelreferencing/tests/GenerateMetamodelReferencing.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.metamodelreferencing.tests.GenerateMetamodelReferencing import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -31,31 +31,42 @@ Workflow { registerGenModelFile = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/Xtext.genmodel" registerGenModelFile = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcoreReferences.genmodel" } - bean = ecore.EcoreSupportStandaloneSetup {} +// bean = ecore.EcoreSupportStandaloneSetup {} XXX component = DirectoryCleaner { directory="${runtimeProject}/src-gen/org/eclipse/xtext/metamodelreferencing/tests" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - loadedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore" - loadedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerNsURI.ecore" - loadedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformPlugin.ecore" - loadedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformResource.ecore" - uri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/EcoreReferenceTestLanguage.xtext" + referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore" + referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerNsURI.ecore" + referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformPlugin.ecore" + referencedResource = "platform:/resource/${projectName}/src/org/eclipse/xtext/metamodelreferencing/tests/EcorePerPlatformResource.ecore" + grammarUri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/EcoreReferenceTestLanguage.xtext" fragment = @TestLanguagesFragments { } } language = { - uri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MetamodelRefTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/metamodelreferencing/tests/MultiGenMMTestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/GenerateAntlrParserTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/GenerateAntlrParserTestLanguages.mwe2 index 5c70e3c17..39df9114d 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/GenerateAntlrParserTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/antlr/GenerateAntlrParserTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.antlr.GenerateAntlrParserTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,54 +25,65 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parser/antlr" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289515TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289515TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524ExTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug289524ExTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889ExTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug296889ExTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935ExTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug301935ExTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx { ignoreCase = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug378967TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug378967TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/antlr/Bug443221TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/antlr/Bug443221TestLanguage.xtext" fragment = @TestLanguagesFragmentsEx {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/assignments/GenerateAssignmentsTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/assignments/GenerateAssignmentsTestLanguage.mwe2 index 7c4dbea86..bda1d0e62 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/assignments/GenerateAssignmentsTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/assignments/GenerateAssignmentsTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.assignments.GenerateAssignmentsTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,20 +25,31 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parser/assignments" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/assignments/AssignmentsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/assignments/AssignmentsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/assignments/Bug287184TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/assignments/Bug287184TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/assignments/Bug288432TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/assignments/Bug288432TestLanguage.xtext" fragment = @TestLanguagesFragments {} } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/encoding/GenerateEncodingTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/encoding/GenerateEncodingTestLanguage.mwe2 index 5948d3056..dea789489 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/encoding/GenerateEncodingTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/encoding/GenerateEncodingTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.encoding.EncodingTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,12 +25,23 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parser/encoding" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/encoding/EncodingTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/encoding/EncodingTestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/fragments/GenerateFragmentTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/fragments/GenerateFragmentTestLanguages.mwe2 index 31f5a9846..886420929 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/fragments/GenerateFragmentTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/fragments/GenerateFragmentTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.fragments.GenerateFragmentTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -30,24 +30,40 @@ Workflow { directory = "../../intellij/org.eclipse.xtext.core.idea.tests/src-gen/org/eclipse/xtext/parser/fragments/idea" } - component = Generator auto-inject { - pathRtProject = runtimeProject - pathTestProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtimeTest = { + enabled = true + root = runtimeProject + src = "${runtimeProject}/src" + srcGen = "${runtimeProject}/src-gen" + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject { - srcGenOnly = true + generateStub = true } - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguageEx.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/fragments/FragmentTestLanguageEx.xtext" fragment = @TestLanguagesFragmentsEx auto-inject { - srcGenOnly = true + generateStub = true } - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/indentation/GenerateIndentationTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/indentation/GenerateIndentationTestLanguages.mwe2 index faae2f321..494dfb481 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/indentation/GenerateIndentationTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/indentation/GenerateIndentationTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.indentation.GenerateIndentationTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,17 +25,33 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parser/indentation" } - component = Generator auto-inject { - pathRtProject = runtimeProject - pathTestProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtimeTest = { + enabled = true + root = runtimeProject + src = "${runtimeProject}/src" + srcGen = "${runtimeProject}/src-gen" + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/indentation/IndentationAwareTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/indentation/IndentationAwareTestLanguage.xtext" fragment = @TestLanguagesFragmentsEx auto-inject { - srcGenOnly = false + generateStub = true } - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/parameters/GenerateParametersTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/parameters/GenerateParametersTestLanguages.mwe2 index d39a1bac9..3a622638d 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/parameters/GenerateParametersTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/parameters/GenerateParametersTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.parameters.GenerateParametersTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -30,30 +30,46 @@ Workflow { directory = "../../intellij/org.eclipse.xtext.core.idea.tests/src-gen/org/eclipse/xtext/parser/parameters/idea" } - component = Generator auto-inject { - pathRtProject = runtimeProject - pathTestProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtimeTest = { + enabled = true + root = runtimeProject + src = "${runtimeProject}/src" + srcGen = "${runtimeProject}/src-gen" + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/TwoParametersTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/TwoParametersTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/NoParametersTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/NoParametersTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguageEx.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/parameters/ParametersTestLanguageEx.xtext" fragment = @TestLanguagesFragmentsEx auto-inject {} - fragment = junit.Junit4Fragment {} + fragment = xtext.generator.junit.Junit4Fragment2 {} } } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/terminalrules/GenerateTerminalrulesTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/terminalrules/GenerateTerminalrulesTestLanguages.mwe2 index 1729ab11e..8d6e6fb59 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/terminalrules/GenerateTerminalrulesTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/terminalrules/GenerateTerminalrulesTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.terminalrules.GenerateTerminalrulesTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,42 +25,53 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parser/terminalrules" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug292245TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug292245TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug297105TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug297105TestLanguage.xtext" fragment = @TestLanguagesFragments { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug317840TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/Bug317840TestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/EcoreTerminalsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/EcoreTerminalsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/HiddenTerminalsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/TerminalRulesTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/TerminalRulesTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/UnicodeTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/UnicodeTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/terminalrules/XtextTerminalsTestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/GenerateUnorderedGroupsTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/GenerateUnorderedGroupsTestLanguages.mwe2 index 7fd0f77b2..5d6a6ab93 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/GenerateUnorderedGroupsTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parser/unorderedGroups/GenerateUnorderedGroupsTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parser.unorderedGroups.GenerateUnorderedGroupsTestLangu import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -31,37 +31,48 @@ Workflow { directory = "../../intellij/org.eclipse.xtext.core.idea.tests/src-gen/org/eclipse/xtext/parser/unorderedGroups/idea" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } +// language = { XXX +// grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/UnorderedGroupsTestLanguage.xtext" +// fragment = @TestLanguagesFragmentsParseTreeConstructor auto-inject {} +// } +// language = { XXX +// grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleUnorderedGroupsTestLanguage.xtext" +// fragment = @TestLanguagesFragmentsParseTreeConstructor auto-inject {} +// } +// language = { XXX +// grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExUnorderedGroupsTestLanguage.xtext" +// fragment = @TestLanguagesFragmentsExParseTreeConstructor auto-inject {} +// } language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/UnorderedGroupsTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor auto-inject {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleUnorderedGroupsTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor auto-inject {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExUnorderedGroupsTestLanguage.xtext" - fragment = @TestLanguagesFragmentsExParseTreeConstructor auto-inject {} - } - language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/BacktrackingBug325745TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/BacktrackingBug325745TestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject { backtrack = true - srcGenOnly = false + generateStub = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleBacktrackingBug325745TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/SimpleBacktrackingBug325745TestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject { backtrack = true } } language = { - uri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExBacktrackingBug325745TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parser/unorderedGroups/ExBacktrackingBug325745TestLanguage.xtext" fragment = @TestLanguagesFragmentsEx auto-inject { backtrack = true } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateElementMatcherTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateElementMatcherTestLanguage.mwe2 index 48de56c92..6ea2b9fd8 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateElementMatcherTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateElementMatcherTestLanguage.mwe2 @@ -13,15 +13,12 @@ module org.eclipse.xtext.parsetree.formatter.GenerateElementMatcherTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" var lineDelimiter = '\n' -//var generateDotDiagram = true -//var graphvizCommand = "/opt/local/bin/dot -o %1.pdf -v -T pdf" - Workflow { bean = StandaloneSetup { platformUri = "${runtimeProject}/.." @@ -31,12 +28,23 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parsetree/formatter" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/formatter/ElementMatcherTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/formatter/ElementMatcherTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateFormatterTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateFormatterTestLanguages.mwe2 index 71de67b3d..60c8ae4f7 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateFormatterTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/formatter/GenerateFormatterTestLanguages.mwe2 @@ -10,15 +10,12 @@ module org.eclipse.xtext.parsetree.formatter.GenerateFormatterTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" var lineDelimiter = '\n' -//var generateDotDiagram = true -//var graphvizCommand = "/opt/local/bin/dot -o %1.pdf -v -T pdf" - Workflow { bean = StandaloneSetup { platformUri = "${runtimeProject}/.." @@ -28,18 +25,29 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parsetree/formatter" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/formatter/FormatterTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/formatter/ElementMatcherTestLanguage.xtext" - fragment = @TestLanguagesFragmentsParseTreeConstructor auto-inject {} - } +// language = { XXX +// grammarUri = "classpath:/org/eclipse/xtext/parsetree/formatter/ElementMatcherTestLanguage.xtext" +// fragment = @TestLanguagesFragmentsParseTreeConstructor auto-inject {} +// } } } \ No newline at end of file diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.mwe2 index 4c214ccb7..ebe31877d 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.mwe2 @@ -8,7 +8,7 @@ module org.eclipse.xtext.parsetree.impl.CommentAssociationTestLanguage import org.eclipse.emf.mwe.utils.StandaloneSetup -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -19,13 +19,24 @@ Workflow { platformUri="${runtimeProject}/.." } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName - - language = { - uri = "classpath:/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.xtext" - fragment = @org.eclipse.xtext.TestLanguagesFragmentsParseTreeConstructor {} + component = XtextGenerator { + cleaner = { + enabled = false } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } + +// language = { XXX +// grammarUri = "classpath:/org/eclipse/xtext/parsetree/impl/CommentAssociationTestLanguage.xtext" +// fragment = @org.eclipse.xtext.TestLanguagesFragmentsParseTreeConstructor {} +// } } } \ No newline at end of file diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguages.mwe2 index 6afe11aea..ccc09c800 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguages.mwe2 @@ -8,7 +8,7 @@ module org.eclipse.xtext.parsetree.reconstr.Bug302128TestLanguages import org.eclipse.emf.mwe.utils.StandaloneSetup -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -19,12 +19,23 @@ Workflow { platformUri="${runtimeProject}/.." } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguage.xtext" fragment = @org.eclipse.xtext.TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/GenerateReconstrTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/GenerateReconstrTestLanguages.mwe2 index a32beddbb..ddf2b1019 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/GenerateReconstrTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/reconstr/GenerateReconstrTestLanguages.mwe2 @@ -10,15 +10,12 @@ module org.eclipse.xtext.parsetree.reconstr.GenerateReconstrTestLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" var lineDelimiter = '\n' -//var generateDotDiagram = true -//var graphvizCommand = "/opt/local/bin/dot -o %1.pdf -v -T pdf" - Workflow { bean = StandaloneSetup { platformUri = "${runtimeProject}/.." @@ -28,40 +25,51 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parsetree/reconstr" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug299395TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug299395TestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/Bug302128TestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/PartialSerializationTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/PartialSerializationTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SerializationBug269362TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SerializationBug269362TestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SimpleReconstrTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/ComplexReconstrTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SerializationErrorTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/SerializationErrorTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/reconstr/HiddenTokensMergerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/reconstr/HiddenTokensMergerTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/unassignedtext/GenerateUnassignedTextTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/unassignedtext/GenerateUnassignedTextTestLanguage.mwe2 index 2b972eefa..c68dd0a4a 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/unassignedtext/GenerateUnassignedTextTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/parsetree/unassignedtext/GenerateUnassignedTextTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parsetree.unassignedtext.GenerateUnassignedTextTestLang import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,12 +25,23 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/parsetree/unassignedtext" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/parsetree/unassignedtext/UnassignedTextTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/parsetree/unassignedtext/UnassignedTextTestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.mwe2 index 1980e7be8..401b0e044 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.parsetree.resource.EObjectAtOffsetTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -27,29 +27,40 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/resource" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/EObjectAtOffsetTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/LocationProviderTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/LocationProviderTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/LiveContainerTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/LiveContainerTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/LiveContainerBuilderIntegerationTestLanguage.xtext" fragment = @TestLanguagesFragments {} - fragment = generator.builder.BuilderIntegrationFragment {} + fragment = xtext.generator.builder.BuilderIntegrationFragment2 {} } language = { - uri = "classpath:/org/eclipse/xtext/resource/Bug385636TestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/resource/Bug385636TestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/GenerateSerializerLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/GenerateSerializerLanguages.mwe2 index d465d8afb..89794c101 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/GenerateSerializerLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/serializer/GenerateSerializerLanguages.mwe2 @@ -10,14 +10,12 @@ module org.eclipse.xtext.serializer.GenerateSerializerLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" var lineDelimiter = '\n' -//var graphvizCommand = "/opt/local/bin/dot -o %1.pdf -v -T pdf" - Workflow { bean = StandaloneSetup { platformUri = "${runtimeProject}/.." @@ -27,32 +25,43 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/serializer" } - component = Generator auto-inject { - mergeManifest = false - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } + language = { - uri = "classpath:/org/eclipse/xtext/serializer/SequencerTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject {} + grammarUri = "classpath:/org/eclipse/xtext/serializer/SequencerTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/serializer/SyntacticSequencerTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject { + grammarUri = "classpath:/org/eclipse/xtext/serializer/SyntacticSequencerTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject { srcGenOnly = false } } language = { - uri = "classpath:/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject {} + grammarUri = "classpath:/org/eclipse/xtext/serializer/HiddenTokenSequencerTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/serializer/ContextFinderTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject {} + grammarUri = "classpath:/org/eclipse/xtext/serializer/ContextFinderTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject {} } language = { - uri = "classpath:/org/eclipse/xtext/serializer/AssignmentFinderTestLanguage.xtext" - fragment = @ TestLanguagesFragments auto-inject {} + grammarUri = "classpath:/org/eclipse/xtext/serializer/AssignmentFinderTestLanguage.xtext" + fragment = @TestLanguagesFragments auto-inject {} } } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/testlanguages/GenerateSingleTestLanguage.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/testlanguages/GenerateSingleTestLanguage.mwe2 index 327b8022c..f65e3f7a3 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/testlanguages/GenerateSingleTestLanguage.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/testlanguages/GenerateSingleTestLanguage.mwe2 @@ -9,7 +9,7 @@ module org.eclipse.xtext.testlanguages.GenerateSingleTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -34,12 +34,28 @@ Workflow { registerGeneratedEPackage = "org.eclipse.emf.ecore.EcorePackage" } - component = Generator auto-inject { - mergeManifest = false - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + runtime = { + manifest = { + merge = false + } + } + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } + language = { - uri = "classpath:/org/eclipse/xtext/testlanguages/ActionTestLanguage2.xtext" + grammarUri = "classpath:/org/eclipse/xtext/testlanguages/ActionTestLanguage2.xtext" fragment = @org.eclipse.xtext.TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestsEMFGeneratorFragment.xtend b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestsEMFGeneratorFragment.xtend new file mode 100644 index 000000000..d02573fa8 --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/TestsEMFGeneratorFragment.xtend @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2016 TypeFox GmbH (http://www.typefox.io) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests + +import org.eclipse.xtend.lib.annotations.Accessors +import org.eclipse.xtext.Grammar +import org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2 + +/** + * @author spoenemann - Initial contribution and API + */ +class TestsEMFGeneratorFragment extends EMFGeneratorFragment2 { + + @Accessors(PUBLIC_SETTER) + String ecoreModel + + String genModel + + override setGenModel(String genModel) { + this.genModel = genModel + super.setGenModel(genModel) + } + + override protected getEcoreFilePath(Grammar grammar) { + if (!ecoreModel.nullOrEmpty) + ecoreModel + else + javaModelDirectory + + '/' + grammar.name.substring(0, grammar.name.lastIndexOf('.')).replace('.', '/') + + grammar.modelName + '.ecore' + } + + override protected getGenModelPath(Grammar grammar) { + if (!genModel.nullOrEmpty) + genModel + else + javaModelDirectory + + '/' + grammar.name.substring(0, grammar.name.lastIndexOf('.')).replace('.', '/') + + grammar.modelName + '.genmodel' + } + +} \ No newline at end of file diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreQualifiedNameProvider.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreQualifiedNameProvider.java new file mode 100644 index 000000000..0bb518353 --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreQualifiedNameProvider.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2011 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests.ecore; + +import java.util.Collections; + +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.naming.QualifiedName; +import org.eclipse.xtext.util.IResourceScopeCache; +import org.eclipse.xtext.util.PolymorphicDispatcher; +import org.eclipse.xtext.util.Strings; +import org.eclipse.xtext.util.Tuples; + +import com.google.inject.Inject; +import com.google.inject.Provider; + +/** + * @author Jan Koehnlein - Initial contribution and API + */ +public class EcoreQualifiedNameProvider extends IQualifiedNameProvider.AbstractImpl { + + private PolymorphicDispatcher nameDispatcher = new PolymorphicDispatcher("name", 1, 1, + Collections.singletonList(this), PolymorphicDispatcher.NullErrorHandler. get()) { + @Override + protected String handleNoSuchMethod(Object... params) { + return null; + } + }; + + @Inject + private IResourceScopeCache cache = IResourceScopeCache.NullImpl.INSTANCE; + + @Override + public QualifiedName getFullyQualifiedName(final EObject obj) { + return cache.get(Tuples.pair(obj, getCacheKey()), obj.eResource(), new Provider() { + + @Override + public QualifiedName get() { + EObject temp = obj; + String name = nameDispatcher.invoke(temp); + if (Strings.isEmpty(name)) + return null; + QualifiedName qualifiedName = QualifiedName.create(name); + if(!isRecurseParent(obj)) + return qualifiedName; + QualifiedName parentsQualifiedName = getFullyQualifiedName(obj.eContainer()); + if (parentsQualifiedName == null) + return null; + else + return parentsQualifiedName.append(qualifiedName); + } + + }); + } + + protected boolean isRecurseParent(final EObject obj) { + return obj.eContainer() != null; + } + + protected String getCacheKey() { + return "fqn"; + } + + protected String name(EPackage ePackage) { + return ePackage.getName(); + } + + protected String name(EClassifier eClassifier) { + return eClassifier.getName(); + } + + protected String name(EStructuralFeature eStructuralFeature) { + return eStructuralFeature.getName(); + } + + protected String name(EOperation eOperation) { + return eOperation.getName(); + } +} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreResourceDescriptionStrategy.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreResourceDescriptionStrategy.java new file mode 100644 index 000000000..557acebb0 --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreResourceDescriptionStrategy.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2011 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests.ecore; + +import java.util.Map; + +import org.apache.log4j.Logger; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.naming.QualifiedName; +import org.eclipse.xtext.resource.EObjectDescription; +import org.eclipse.xtext.resource.IEObjectDescription; +import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy; +import org.eclipse.xtext.util.IAcceptor; + +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Singleton; + +/** + * @author Sebastian Zarnekow - Initial contribution and API + */ +@Singleton +public class EcoreResourceDescriptionStrategy extends DefaultResourceDescriptionStrategy { + + private static final Logger LOG = Logger.getLogger(EcoreResourceDescriptionStrategy.class); + + public static final String NS_URI_INDEX_ENTRY = "nsURI"; + + @Inject + private NsURIQualifiedNameProvider nsURIQualifiedNameProvider; + + @Override + public boolean createEObjectDescriptions(EObject eObject, IAcceptor acceptor) { + boolean isProcessContents = createEObjectDescriptions(getQualifiedNameProvider(), false, eObject, acceptor); + isProcessContents |= createEObjectDescriptions(nsURIQualifiedNameProvider, true, eObject, acceptor); + return isProcessContents; + } + + protected boolean createEObjectDescriptions(IQualifiedNameProvider qualifiedNameProvider, boolean isNsURI, + EObject eObject, IAcceptor acceptor) { + try { + QualifiedName qualifiedName = qualifiedNameProvider.getFullyQualifiedName(eObject); + if (qualifiedName != null) { + Map userData = Maps.newHashMapWithExpectedSize(1); + userData.put(NS_URI_INDEX_ENTRY, Boolean.toString(isNsURI)); + IEObjectDescription description = EObjectDescription.create(qualifiedName, eObject, userData); + acceptor.accept(description); + return true; + } + } catch (Exception exc) { + LOG.error(exc.getMessage(), exc); + } + return false; + } + +} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreRuntimeModule.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreRuntimeModule.java new file mode 100644 index 000000000..a5b8e312a --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreRuntimeModule.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests.ecore; + +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy; +import org.eclipse.xtext.resource.generic.AbstractGenericResourceRuntimeModule; + +/** + * Default Guice bindings for managing Ecore resources in the context of Xtext. + * + * @author Jan Koehnlein - Initial contribution and API + */ +public class EcoreRuntimeModule extends AbstractGenericResourceRuntimeModule { + + @Override + protected String getLanguageName() { + return "org.eclipse.emf.ecore.presentation.EcoreEditorID"; + } + + @Override + protected String getFileExtensions() { + return "ecore"; + } + + public Class bindIDefaultResourceDescriptionStrategy() { + return EcoreResourceDescriptionStrategy.class; + } + + @Override + public Class bindIQualifiedNameProvider() { + return EcoreQualifiedNameProvider.class; + } + +} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreSupport.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreSupport.java new file mode 100644 index 000000000..96fac0bc5 --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreSupport.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2010 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests.ecore; + +import org.eclipse.xtext.ISetup; +import org.eclipse.xtext.resource.generic.AbstractGenericResourceSupport; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.google.inject.Module; + +/** + * + * This class is intended to be used from an MWE workflow. + * + * It instantiates and registers the Ecore support for Xtext, which allows for referencing ecore models from any Xtext + * language. + * + * Usage: + * + *
+ *    component = org.eclipse.xtext.ecore.EcoreSupport{}
+ * 
+ * + * If you want to provide a different guice guiceModule than the default one ({@link EcoreRuntimeModule}) in order to + * change any implementation classes, you can make use of the property guiceModule. E.g. : + * + *
+ *    component = org.eclipse.xtext.ecore.EcoreSupport{
+ *       guiceModule = my.special.CustomizedEcoreRuntimeModule {}
+ *    }
+ * 
+ * + * @author Sven Efftinge - Initial contribution and API + */ +public class EcoreSupport extends AbstractGenericResourceSupport implements ISetup { + + @Override + protected Module createGuiceModule() { + return new EcoreRuntimeModule(); + } + + /** + * @since 2.5 + */ + @Override + public Injector createInjectorAndDoEMFRegistration() { + Injector injector = Guice.createInjector(getGuiceModule()); + injector.injectMembers(this); + registerInRegistry(false); + return injector; + } + +} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreSupportStandaloneSetup.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreSupportStandaloneSetup.java new file mode 100644 index 000000000..5e43297dd --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/EcoreSupportStandaloneSetup.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2011 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests.ecore; + +/** + * Can be used to cause a side effect in workflow. As soon as this bean + * is instantiated in a workflow, the {@link org.eclipse.xtext.resource.IResourceServiceProvider services} + * for {@code *.ecore} files are registered. Existing services will not be replaced. + * @author Sebastian Zarnekow - Initial contribution and API + */ +public class EcoreSupportStandaloneSetup { + + public static void setup() { + new EcoreSupportStandaloneSetup(); + } + + public EcoreSupportStandaloneSetup() { + new EcoreSupport().registerServices(false); + } + +} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/NsURIQualifiedNameProvider.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/NsURIQualifiedNameProvider.java new file mode 100644 index 000000000..e09785403 --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/tests/ecore/NsURIQualifiedNameProvider.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2011 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.tests.ecore; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +/** + * @author Jan Koehnlein - Initial contribution and API + */ +public class NsURIQualifiedNameProvider extends EcoreQualifiedNameProvider { + + @Override + protected String name(EPackage ePackage) { + return ePackage.getNsURI(); + } + + @Override + protected String getCacheKey() { + return "nsURIfqn"; + } + + @Override + protected boolean isRecurseParent(EObject obj) { + return !(obj instanceof EPackage) && super.isRecurseParent(obj); + } +} diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/GenerateValidationLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/GenerateValidationLanguages.mwe2 index 6200ae254..6716ca879 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/GenerateValidationLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/validation/GenerateValidationLanguages.mwe2 @@ -10,15 +10,12 @@ module org.eclipse.xtext.validation.GenerateValidationLanguages import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" var lineDelimiter = '\n' -//var generateDotDiagram = true -//var graphvizCommand = "/opt/local/bin/dot -o %1.pdf -v -T pdf" - Workflow { bean = StandaloneSetup { platformUri = "${runtimeProject}/.." @@ -28,13 +25,23 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/validation" } - component = Generator auto-inject { - mergeManifest = false - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/validation/ConcreteSyntaxValidationTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/validation/ConcreteSyntaxValidationTestLanguage.xtext" fragment = @TestLanguagesFragments auto-inject {} } } diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/GenerateEcoreInferenceTestLanguages.mwe2 b/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/GenerateEcoreInferenceTestLanguages.mwe2 index 8534b2e95..704d3e092 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/GenerateEcoreInferenceTestLanguages.mwe2 +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/ecoreInference/GenerateEcoreInferenceTestLanguages.mwe2 @@ -10,7 +10,7 @@ module org.eclipse.xtext.xtext.ecoreInference.GenerateEcoreInferenceTestLanguage import org.eclipse.emf.mwe2.runtime.workflow.Workflow import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.* -import org.eclipse.xtext.generator.* +import org.eclipse.xtext.xtext.generator.* var projectName = "org.eclipse.xtext.tests" var runtimeProject = "../${projectName}" @@ -25,16 +25,27 @@ Workflow { directory = "${runtimeProject}/src-gen/org/eclipse/xtext/xtext/ecoreInference" } - component = Generator auto-inject { - pathRtProject = runtimeProject - projectNameRt = projectName + component = XtextGenerator { + cleaner = { + enabled = false + } + configuration = { + project = model.project.StandardProjectConfig { + baseName = projectName + rootPath = ".." + } + code = { + lineDelimiter = lineDelimiter + preferXtendStubs = false + } + } language = { - uri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/MultiValueFeatureTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/MultiValueFeatureTestLanguage.xtext" fragment = @TestLanguagesFragments {} } language = { - uri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/UnassignedRuleCallTestLanguage.xtext" + grammarUri = "classpath:/org/eclipse/xtext/xtext/ecoreInference/UnassignedRuleCallTestLanguage.xtext" fragment = @TestLanguagesFragments {} } } diff --git a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/TestProjectConfig.java b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/TestProjectConfig.java deleted file mode 100644 index 0a71fb00c..000000000 --- a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/TestProjectConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - */ -package org.eclipse.xtext; - -import org.eclipse.xtext.xtext.generator.model.project.StandardProjectConfig; -import org.eclipse.xtext.xtext.generator.model.project.SubProjectConfig; - -/** - * @author Christian Schneider - Initial contribution and API - */ -@SuppressWarnings("all") -public class TestProjectConfig extends StandardProjectConfig { - /** - * Put the 'srcGen' classes generated for those test languages that are migrated - * to the new generator infrastructure into a separate source folder! - */ - @Override - protected String computeSrcGen(final SubProjectConfig project) { - String _computeSrcGen = super.computeSrcGen(project); - return (_computeSrcGen + "2"); - } -} diff --git a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/tests/TestsEMFGeneratorFragment.java b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/tests/TestsEMFGeneratorFragment.java new file mode 100644 index 000000000..b097f37bb --- /dev/null +++ b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/tests/TestsEMFGeneratorFragment.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2016 TypeFox GmbH (http://www.typefox.io) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.xtext.tests; + +import org.eclipse.xtend.lib.annotations.AccessorType; +import org.eclipse.xtend.lib.annotations.Accessors; +import org.eclipse.xtext.Grammar; +import org.eclipse.xtext.xbase.lib.StringExtensions; +import org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2; + +/** + * @author spoenemann - Initial contribution and API + */ +@SuppressWarnings("all") +public class TestsEMFGeneratorFragment extends EMFGeneratorFragment2 { + @Accessors(AccessorType.PUBLIC_SETTER) + private String ecoreModel; + + private String genModel; + + @Override + public void setGenModel(final String genModel) { + this.genModel = genModel; + super.setGenModel(genModel); + } + + @Override + protected String getEcoreFilePath(final Grammar grammar) { + String _xifexpression = null; + boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(this.ecoreModel); + boolean _not = (!_isNullOrEmpty); + if (_not) { + _xifexpression = this.ecoreModel; + } else { + String _javaModelDirectory = this.getJavaModelDirectory(); + String _plus = (_javaModelDirectory + "/"); + String _name = grammar.getName(); + String _name_1 = grammar.getName(); + int _lastIndexOf = _name_1.lastIndexOf("."); + String _substring = _name.substring(0, _lastIndexOf); + String _replace = _substring.replace(".", "/"); + String _plus_1 = (_plus + _replace); + String _modelName = this.getModelName(grammar); + String _plus_2 = (_plus_1 + _modelName); + _xifexpression = (_plus_2 + ".ecore"); + } + return _xifexpression; + } + + @Override + protected String getGenModelPath(final Grammar grammar) { + String _xifexpression = null; + boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(this.genModel); + boolean _not = (!_isNullOrEmpty); + if (_not) { + _xifexpression = this.genModel; + } else { + String _javaModelDirectory = this.getJavaModelDirectory(); + String _plus = (_javaModelDirectory + "/"); + String _name = grammar.getName(); + String _name_1 = grammar.getName(); + int _lastIndexOf = _name_1.lastIndexOf("."); + String _substring = _name.substring(0, _lastIndexOf); + String _replace = _substring.replace(".", "/"); + String _plus_1 = (_plus + _replace); + String _modelName = this.getModelName(grammar); + String _plus_2 = (_plus_1 + _modelName); + _xifexpression = (_plus_2 + ".genmodel"); + } + return _xifexpression; + } + + public void setEcoreModel(final String ecoreModel) { + this.ecoreModel = ecoreModel; + } +}