Loading de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/GenerateTTCN3.mwe2 +216 −128 Original line number Diff line number Diff line module de.ugoe.cs.swe.GenerateTTCN3 import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.generator.* import org.eclipse.xtext.ui.generator.* //import org.eclipse.emf.mwe.utils.* //import org.eclipse.xtext.generator.* //import org.eclipse.xtext.ui.generator.* import org.eclipse.xtext.xtext.generator.* import org.eclipse.xtext.xtext.generator.model.project.* var grammarURI = "classpath:/de/ugoe/cs/swe/TTCN3.xtext" var fileExtensions = "ttcn3,ttcn,3mp" Loading @@ -10,71 +12,75 @@ var projectName = "de.ugoe.cs.swe.TTCN3" var runtimeProject = "../${projectName}" var generateXtendStub = true var encoding = "UTF-8" var rootPath = ".." Workflow { bean = StandaloneSetup { scanClassPath = true platformUri = "${runtimeProject}/.." } // bean = StandaloneSetup { // scanClassPath = true // platformUri = "${runtimeProject}/.." // } // // component = DirectoryCleaner { // directory = "${runtimeProject}/src-gen" // } // // component = DirectoryCleaner { // directory = "${runtimeProject}/model" // } // // component = DirectoryCleaner { // directory = "${runtimeProject}.ui/src-gen" // } // // component = DirectoryCleaner { // directory = "${runtimeProject}.tests/src-gen" // } component = DirectoryCleaner { directory = "${runtimeProject}/src-gen" component = XtextGenerator { // pathRtProject = runtimeProject // pathUiProject = "${runtimeProject}.ui" // pathTestProject = "${runtimeProject}.tests" // projectNameRt = projectName // projectNameUi = "${projectName}.ui" // encoding = encoding configuration = { project = StandardProjectConfig { baseName = projectName rootPath = rootPath runtimeTest = { enabled = true } component = DirectoryCleaner { directory = "${runtimeProject}/model" eclipsePlugin = { enabled = true } component = DirectoryCleaner { directory = "${runtimeProject}.ui/src-gen" eclipsePluginTest = { enabled = true } component = DirectoryCleaner { directory = "${runtimeProject}.tests/src-gen" createEclipseMetaData = true } code = { encoding = "UTF-8" lineDelimiter = "\n" fileHeader = "/*\n * generated by Xtext \${version}\n */" preferXtendStubs = false } component = Generator { pathRtProject = runtimeProject pathUiProject = "${runtimeProject}.ui" pathTestProject = "${runtimeProject}.tests" projectNameRt = projectName projectNameUi = "${projectName}.ui" encoding = encoding language = auto-inject { uri = grammarURI // Java API to access grammar elements (required by several other fragments) fragment = grammarAccess.GrammarAccessFragment auto-inject {} // generates Java API for the generated EPackages fragment = ecore.EMFGeneratorFragment auto-inject {} // the old serialization component // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {} // serializer 2.0 fragment = serializer.SerializerFragment auto-inject { generateStub = false } // a custom ResourceFactory for use with EMF fragment = resourceFactory.ResourceFactoryFragment auto-inject {} language = StandardLanguage { name = projectName fileExtensions = fileExtensions // The antlr parser generator fragment. fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { options = { classSplitting = true fieldsPerClass = "500" backtrack = true memoize = true } serializer = { generateStub = false } // Xtend-based API for validation fragment = validation.ValidatorFragment auto-inject { validator = { // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator" // validators for the standalone app according to t3q tools // can only be used in standalone app, throws an error in eclipse editor composedCheck = "de.ugoe.cs.swe.validation.NamingConventionsValidator" Loading @@ -88,70 +94,152 @@ Workflow { // can currently only be used with the eclipse editor, does not work // in the standalone app // composedCheck = "de.ugoe.cs.swe.validation.NameClashValidator" } // old scoping and exporting API // fragment = scoping.ImportURIScopingFragment auto-inject {} // fragment = exporting.SimpleNamesFragment auto-inject {} // scoping and exporting API fragment = de.ugoe.cs.swe.scoping.TTCN3ImportNamespaceScopingFragment auto-inject {} fragment = exporting.QualifiedNamesFragment auto-inject {} fragment = builder.BuilderIntegrationFragment auto-inject {} // generator API //fragment = generator.GeneratorFragment auto-inject {} // formatter API //fragment = formatting.FormatterFragment auto-inject {} fragment = ecore2xtext.FormatterFragment auto-inject {} // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage generateDeprecationValidation = true generateStub = false } // labeling API fragment = labeling.LabelProviderFragment auto-inject {} generator = { generateXtendStub = true } // outline API //fragment = outline.OutlineTreeProviderFragment auto-inject {} //fragment = outline.QuickOutlineFragment auto-inject {} junitSupport = { junitVersion = "5" } // quickfix API //fragment = quickfix.QuickfixProviderFragment auto-inject {} scopeProvider = { generateStub = false } // content assist API fragment = contentAssist.ContentAssistFragment auto-inject {} scopeProvider = { generateXtendStub = true } // generates a more lightweight Antlr parser and lexer tailored for content assist fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject { parserGenerator = { options = { classSplitting = true fieldsPerClass = "500" //TODO: revisit? // classSplitting = true // fieldsPerClass = "500" backtrack = true memoize = true } } } // generates junit test support classes into Generator#pathTestProject fragment = junit.Junit4Fragment auto-inject {} // project wizard (optional) // fragment = projectWizard.SimpleProjectWizardFragment auto-inject { // generatorProjectName = "${projectName}" // language = auto-inject { // uri = grammarURI // // // Java API to access grammar elements (required by several other fragments) // fragment = grammarAccess.GrammarAccessFragment auto-inject {} // // // generates Java API for the generated EPackages // fragment = ecore.EMFGeneratorFragment auto-inject {} // // // the old serialization component // // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {} // // // serializer 2.0 // fragment = serializer.SerializerFragment auto-inject { // generateStub = false // } // // // a custom ResourceFactory for use with EMF // fragment = resourceFactory.ResourceFactoryFragment auto-inject {} // // // The antlr parser generator fragment. // fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { // options = { // classSplitting = true // fieldsPerClass = "500" // backtrack = true // memoize = true // } // } // // // Xtend-based API for validation // fragment = validation.ValidatorFragment auto-inject { // // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" // // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" // // // validators for the standalone app according to t3q tools // // can only be used in standalone app, throws an error in eclipse editor // composedCheck = "de.ugoe.cs.swe.validation.NamingConventionsValidator" // composedCheck = "de.ugoe.cs.swe.validation.StructureOfDataValidator" // composedCheck = "de.ugoe.cs.swe.validation.CodeStyleValidator" // composedCheck = "de.ugoe.cs.swe.validation.DataFlowValidator" // composedCheck = "de.ugoe.cs.swe.validation.ModularizationValidator" // composedCheck = "de.ugoe.cs.swe.validation.LogValidator" // // // name clash validator // // can currently only be used with the eclipse editor, does not work // // in the standalone app // // composedCheck = "de.ugoe.cs.swe.validation.NameClashValidator" // } // // // old scoping and exporting API // // fragment = scoping.ImportURIScopingFragment auto-inject {} // // fragment = exporting.SimpleNamesFragment auto-inject {} // // // scoping and exporting API // fragment = de.ugoe.cs.swe.scoping.TTCN3ImportNamespaceScopingFragment auto-inject {} // fragment = exporting.QualifiedNamesFragment auto-inject {} // fragment = builder.BuilderIntegrationFragment auto-inject {} // // // generator API // //fragment = generator.GeneratorFragment auto-inject {} // // // formatter API // //fragment = formatting.FormatterFragment auto-inject {} // fragment = ecore2xtext.FormatterFragment auto-inject {} // // // labeling API // fragment = labeling.LabelProviderFragment auto-inject {} // // // outline API // //fragment = outline.OutlineTreeProviderFragment auto-inject {} // //fragment = outline.QuickOutlineFragment auto-inject {} // // // quickfix API // //fragment = quickfix.QuickfixProviderFragment auto-inject {} // // // content assist API // fragment = contentAssist.ContentAssistFragment auto-inject {} // // // generates a more lightweight Antlr parser and lexer tailored for content assist // fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject { // options = { // classSplitting = true // fieldsPerClass = "500" // backtrack = true // memoize = true // } // } // // // generates junit test support classes into Generator#pathTestProject // fragment = junit.Junit4Fragment auto-inject {} // // // project wizard (optional) // // fragment = projectWizard.SimpleProjectWizardFragment auto-inject { // // generatorProjectName = "${projectName}" // // } // // // rename refactoring // //fragment = refactoring.RefactorElementNameFragment auto-inject {} // // // provides the necessary bindings for java types integration // // fragment = types.TypesGeneratorFragment auto-inject {} // // // generates the required bindings only if the grammar inherits from Xbase // // fragment = xbase.XbaseGeneratorFragment auto-inject {} // // // provides a preference page for template proposals // // fragment = templates.CodetemplatesGeneratorFragment auto-inject {} // // // provides a compare view // //fragment = compare.CompareFragment auto-inject {} // } // rename refactoring //fragment = refactoring.RefactorElementNameFragment auto-inject {} // provides the necessary bindings for java types integration // fragment = types.TypesGeneratorFragment auto-inject {} // generates the required bindings only if the grammar inherits from Xbase // fragment = xbase.XbaseGeneratorFragment auto-inject {} // provides a preference page for template proposals // fragment = templates.CodetemplatesGeneratorFragment auto-inject {} // provides a compare view //fragment = compare.CompareFragment auto-inject {} } } } Loading
de.ugoe.cs.swe.TTCN3/src/de/ugoe/cs/swe/GenerateTTCN3.mwe2 +216 −128 Original line number Diff line number Diff line module de.ugoe.cs.swe.GenerateTTCN3 import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.generator.* import org.eclipse.xtext.ui.generator.* //import org.eclipse.emf.mwe.utils.* //import org.eclipse.xtext.generator.* //import org.eclipse.xtext.ui.generator.* import org.eclipse.xtext.xtext.generator.* import org.eclipse.xtext.xtext.generator.model.project.* var grammarURI = "classpath:/de/ugoe/cs/swe/TTCN3.xtext" var fileExtensions = "ttcn3,ttcn,3mp" Loading @@ -10,71 +12,75 @@ var projectName = "de.ugoe.cs.swe.TTCN3" var runtimeProject = "../${projectName}" var generateXtendStub = true var encoding = "UTF-8" var rootPath = ".." Workflow { bean = StandaloneSetup { scanClassPath = true platformUri = "${runtimeProject}/.." } // bean = StandaloneSetup { // scanClassPath = true // platformUri = "${runtimeProject}/.." // } // // component = DirectoryCleaner { // directory = "${runtimeProject}/src-gen" // } // // component = DirectoryCleaner { // directory = "${runtimeProject}/model" // } // // component = DirectoryCleaner { // directory = "${runtimeProject}.ui/src-gen" // } // // component = DirectoryCleaner { // directory = "${runtimeProject}.tests/src-gen" // } component = DirectoryCleaner { directory = "${runtimeProject}/src-gen" component = XtextGenerator { // pathRtProject = runtimeProject // pathUiProject = "${runtimeProject}.ui" // pathTestProject = "${runtimeProject}.tests" // projectNameRt = projectName // projectNameUi = "${projectName}.ui" // encoding = encoding configuration = { project = StandardProjectConfig { baseName = projectName rootPath = rootPath runtimeTest = { enabled = true } component = DirectoryCleaner { directory = "${runtimeProject}/model" eclipsePlugin = { enabled = true } component = DirectoryCleaner { directory = "${runtimeProject}.ui/src-gen" eclipsePluginTest = { enabled = true } component = DirectoryCleaner { directory = "${runtimeProject}.tests/src-gen" createEclipseMetaData = true } code = { encoding = "UTF-8" lineDelimiter = "\n" fileHeader = "/*\n * generated by Xtext \${version}\n */" preferXtendStubs = false } component = Generator { pathRtProject = runtimeProject pathUiProject = "${runtimeProject}.ui" pathTestProject = "${runtimeProject}.tests" projectNameRt = projectName projectNameUi = "${projectName}.ui" encoding = encoding language = auto-inject { uri = grammarURI // Java API to access grammar elements (required by several other fragments) fragment = grammarAccess.GrammarAccessFragment auto-inject {} // generates Java API for the generated EPackages fragment = ecore.EMFGeneratorFragment auto-inject {} // the old serialization component // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {} // serializer 2.0 fragment = serializer.SerializerFragment auto-inject { generateStub = false } // a custom ResourceFactory for use with EMF fragment = resourceFactory.ResourceFactoryFragment auto-inject {} language = StandardLanguage { name = projectName fileExtensions = fileExtensions // The antlr parser generator fragment. fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { options = { classSplitting = true fieldsPerClass = "500" backtrack = true memoize = true } serializer = { generateStub = false } // Xtend-based API for validation fragment = validation.ValidatorFragment auto-inject { validator = { // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator" // validators for the standalone app according to t3q tools // can only be used in standalone app, throws an error in eclipse editor composedCheck = "de.ugoe.cs.swe.validation.NamingConventionsValidator" Loading @@ -88,70 +94,152 @@ Workflow { // can currently only be used with the eclipse editor, does not work // in the standalone app // composedCheck = "de.ugoe.cs.swe.validation.NameClashValidator" } // old scoping and exporting API // fragment = scoping.ImportURIScopingFragment auto-inject {} // fragment = exporting.SimpleNamesFragment auto-inject {} // scoping and exporting API fragment = de.ugoe.cs.swe.scoping.TTCN3ImportNamespaceScopingFragment auto-inject {} fragment = exporting.QualifiedNamesFragment auto-inject {} fragment = builder.BuilderIntegrationFragment auto-inject {} // generator API //fragment = generator.GeneratorFragment auto-inject {} // formatter API //fragment = formatting.FormatterFragment auto-inject {} fragment = ecore2xtext.FormatterFragment auto-inject {} // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage generateDeprecationValidation = true generateStub = false } // labeling API fragment = labeling.LabelProviderFragment auto-inject {} generator = { generateXtendStub = true } // outline API //fragment = outline.OutlineTreeProviderFragment auto-inject {} //fragment = outline.QuickOutlineFragment auto-inject {} junitSupport = { junitVersion = "5" } // quickfix API //fragment = quickfix.QuickfixProviderFragment auto-inject {} scopeProvider = { generateStub = false } // content assist API fragment = contentAssist.ContentAssistFragment auto-inject {} scopeProvider = { generateXtendStub = true } // generates a more lightweight Antlr parser and lexer tailored for content assist fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject { parserGenerator = { options = { classSplitting = true fieldsPerClass = "500" //TODO: revisit? // classSplitting = true // fieldsPerClass = "500" backtrack = true memoize = true } } } // generates junit test support classes into Generator#pathTestProject fragment = junit.Junit4Fragment auto-inject {} // project wizard (optional) // fragment = projectWizard.SimpleProjectWizardFragment auto-inject { // generatorProjectName = "${projectName}" // language = auto-inject { // uri = grammarURI // // // Java API to access grammar elements (required by several other fragments) // fragment = grammarAccess.GrammarAccessFragment auto-inject {} // // // generates Java API for the generated EPackages // fragment = ecore.EMFGeneratorFragment auto-inject {} // // // the old serialization component // // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {} // // // serializer 2.0 // fragment = serializer.SerializerFragment auto-inject { // generateStub = false // } // // // a custom ResourceFactory for use with EMF // fragment = resourceFactory.ResourceFactoryFragment auto-inject {} // // // The antlr parser generator fragment. // fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject { // options = { // classSplitting = true // fieldsPerClass = "500" // backtrack = true // memoize = true // } // } // // // Xtend-based API for validation // fragment = validation.ValidatorFragment auto-inject { // // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" // // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" // // // validators for the standalone app according to t3q tools // // can only be used in standalone app, throws an error in eclipse editor // composedCheck = "de.ugoe.cs.swe.validation.NamingConventionsValidator" // composedCheck = "de.ugoe.cs.swe.validation.StructureOfDataValidator" // composedCheck = "de.ugoe.cs.swe.validation.CodeStyleValidator" // composedCheck = "de.ugoe.cs.swe.validation.DataFlowValidator" // composedCheck = "de.ugoe.cs.swe.validation.ModularizationValidator" // composedCheck = "de.ugoe.cs.swe.validation.LogValidator" // // // name clash validator // // can currently only be used with the eclipse editor, does not work // // in the standalone app // // composedCheck = "de.ugoe.cs.swe.validation.NameClashValidator" // } // // // old scoping and exporting API // // fragment = scoping.ImportURIScopingFragment auto-inject {} // // fragment = exporting.SimpleNamesFragment auto-inject {} // // // scoping and exporting API // fragment = de.ugoe.cs.swe.scoping.TTCN3ImportNamespaceScopingFragment auto-inject {} // fragment = exporting.QualifiedNamesFragment auto-inject {} // fragment = builder.BuilderIntegrationFragment auto-inject {} // // // generator API // //fragment = generator.GeneratorFragment auto-inject {} // // // formatter API // //fragment = formatting.FormatterFragment auto-inject {} // fragment = ecore2xtext.FormatterFragment auto-inject {} // // // labeling API // fragment = labeling.LabelProviderFragment auto-inject {} // // // outline API // //fragment = outline.OutlineTreeProviderFragment auto-inject {} // //fragment = outline.QuickOutlineFragment auto-inject {} // // // quickfix API // //fragment = quickfix.QuickfixProviderFragment auto-inject {} // // // content assist API // fragment = contentAssist.ContentAssistFragment auto-inject {} // // // generates a more lightweight Antlr parser and lexer tailored for content assist // fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject { // options = { // classSplitting = true // fieldsPerClass = "500" // backtrack = true // memoize = true // } // } // // // generates junit test support classes into Generator#pathTestProject // fragment = junit.Junit4Fragment auto-inject {} // // // project wizard (optional) // // fragment = projectWizard.SimpleProjectWizardFragment auto-inject { // // generatorProjectName = "${projectName}" // // } // // // rename refactoring // //fragment = refactoring.RefactorElementNameFragment auto-inject {} // // // provides the necessary bindings for java types integration // // fragment = types.TypesGeneratorFragment auto-inject {} // // // generates the required bindings only if the grammar inherits from Xbase // // fragment = xbase.XbaseGeneratorFragment auto-inject {} // // // provides a preference page for template proposals // // fragment = templates.CodetemplatesGeneratorFragment auto-inject {} // // // provides a compare view // //fragment = compare.CompareFragment auto-inject {} // } // rename refactoring //fragment = refactoring.RefactorElementNameFragment auto-inject {} // provides the necessary bindings for java types integration // fragment = types.TypesGeneratorFragment auto-inject {} // generates the required bindings only if the grammar inherits from Xbase // fragment = xbase.XbaseGeneratorFragment auto-inject {} // provides a preference page for template proposals // fragment = templates.CodetemplatesGeneratorFragment auto-inject {} // provides a compare view //fragment = compare.CompareFragment auto-inject {} } } }