/***************************************************************************** * Copyright (c) 2011 CEA LIST. * * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * CEA LIST - Initial API and implementation * *****************************************************************************/ module org.eclipse.papyrus.uml.textedit.message.xtext.UmlMessage import org.eclipse.emf.mwe.utils.* import org.eclipse.xtext.generator.* import org.eclipse.xtext.ui.generator.* var grammarURI = "classpath:/org/eclipse/papyrus/uml/textedit/message/xtext/UmlMessage.xtext" var file.extensions = "umlmessage" var projectName = "org.eclipse.papyrus.uml.textedit.message.xtext" var runtimeProject = "../${projectName}" Workflow { bean = StandaloneSetup { scanClassPath = true platformUri = "${runtimeProject}/.." //load EMF ECORE 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.codegen.ecore/model/GenModel.genmodel" to = "platform:/resource/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel" } uriMap = { from = "platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel" to = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" } registerGeneratedEPackage = "org.eclipse.emf.ecore.EcorePackage" registerGeneratedEPackage = "org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage" registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" registerGenModelFile = "platform:/resource/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel" //load UML uriMap = { from = "platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel" to = "platform:/resource/org.eclipse.uml2.uml/model/UML.genmodel" } uriMap = { from = "platform:/plugin/org.eclipse.uml2.codegen.ecore/model/GenModel.genmodel" to = "platform:/resource/org.eclipse.uml2.codegen.ecore/model/GenModel.genmodel" } uriMap = { from = "platform:/plugin/org.eclipse.uml2.codegen.ecore/model/GenModel.ecore" to = "platform:/resource/org.eclipse.uml2.codegen.ecore/model/GenModel.ecore" } uriMap = { from = "platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore" to = "platform:/resource/org.eclipse.uml2.uml/model/UML.ecore" } registerGeneratedEPackage = "org.eclipse.uml2.uml.UMLPackage" registerGeneratedEPackage = "org.eclipse.uml2.codegen.ecore.genmodel.GenModelPackage" registerGenModelFile = "platform:/resource/org.eclipse.uml2.uml/model/UML.genmodel" registerGenModelFile = "platform:/resource/org.eclipse.uml2.codegen.ecore/model/GenModel.genmodel" } component = DirectoryCleaner { directory = "${runtimeProject}/src-gen" } component = DirectoryCleaner { directory = "${runtimeProject}.ui/src-gen" } component = Generator { pathRtProject = runtimeProject pathUiProject = "${runtimeProject}.ui" projectNameRt = projectName projectNameUi = "${projectName}.ui" language = { uri = grammarURI fileExtensions = file.extensions // Java API to access grammar elements (required by several other fragments) fragment = grammarAccess.GrammarAccessFragment {} // generates Java API for the generated EPackages fragment = ecore.EcoreGeneratorFragment { } // Serializer 2.0 fragment = serializer.SerializerFragment { generateStub = false } // a custom ResourceFactory for use with EMF fragment = resourceFactory.ResourceFactoryFragment { fileExtensions = file.extensions } // The antlr parser generator fragment. fragment = parser.antlr.XtextAntlrGeneratorFragment { // options = { // backtrack = true // } } // java-based API for validation fragment = validation.JavaValidatorFragment { composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" inheritImplementation=false } // scoping and exporting API // fragment = scoping.ImportURIScopingFragment {} // fragment = exporting.SimpleNamesFragment {} // scoping and exporting API fragment = scoping.ImportNamespacesScopingFragment {} fragment = exporting.QualifiedNamesFragment {} fragment = builder.BuilderIntegrationFragment {} // generator API fragment = generator.GeneratorFragment { generateMwe = false generateJavaMain = false } // formatter API fragment = formatting.FormatterFragment {} // labeling API fragment = labeling.LabelProviderFragment {} // outline API fragment = outline.OutlineTreeProviderFragment {} fragment = outline.QuickOutlineFragment {} // quickfix API fragment = quickfix.QuickfixProviderFragment {} // content assist API fragment = contentAssist.JavaBasedContentAssistFragment {} // generates a more lightweight Antlr parser and lexer tailored for content assist fragment = parser.antlr.XtextAntlrUiGeneratorFragment {} // project wizard (optional) // fragment = projectWizard.SimpleProjectWizardFragment { // generatorProjectName = "${projectName}.generator" // modelFileExtension = file.extensions // } } } }