| /** |
| * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf), Loetz GmbH&Co.KG (Heidelberg) |
| * 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 |
| * |
| * Contributors: |
| * Florian Pirchner - Initial implementation |
| */ |
| |
| module org.eclipse.osbp.ecview.dsl.GenerateUIGrammar |
| |
| import org.eclipse.emf.mwe.utils.* |
| import org.eclipse.xtext.generator.* |
| import org.eclipse.xtext.ui.generator.* |
| |
| var fileExtensions = "ui" |
| var projectName = "org.eclipse.osbp.ecview.dsl" |
| var grammarURI = "classpath:/org/eclipse/osbp/ecview/dsl/UIGrammar.xtext" |
| var runtimeProject = "../${projectName}" |
| var generateXtendStub = true |
| var encoding = "UTF-8" |
| |
| Workflow { |
| bean = StandaloneSetup { |
| // uriMap = { |
| // from = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/core.genmodel" |
| // to = |
| // "file:///Users/admin/git/osbp-ecview/org.eclipse.osbp.ecview.core.parent/org.eclipse.osbp.ecview.core.common.model/model/core.genmodel" |
| // } |
| // uriMap = { |
| // from = "platform:/plugin/" |
| // to = "platform:/resource/" |
| // } |
| // uriMap = { |
| // from = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/" |
| // to = |
| // "file:///Users/admin/git/osbp-ecview/org.eclipse.osbp.ecview.core.parent/org.eclipse.osbp.ecview.core.common.model/" |
| // } |
| // uriMap = { |
| // from = "platform:/resource/org.eclipse.osbp.ecview.core.extension.model/" |
| // to = |
| // "file:///Users/admin/git/osbp-ecview/org.eclipse.osbp.ecview.core.parent/org.eclipse.osbp.ecview.core.extension.model/" |
| // } |
| // uriMap = { |
| // from = "platform:/resource/org.eclipse.osbp.ecview.semantic.uisemantics/" |
| // to = "file:///Users/admin/git/osbp-ecview-addons/org.eclipse.osbp.ecview.semantic.uisemantics/" |
| // } |
| // uriMap = { |
| // from = "platform:/resource/org.eclipse.osbp.ecview.semantic.uimodel/" |
| // to = "file:///Users/admin/git/osbp-ecview-addons/org.eclipse.osbp.ecview.semantic.uimodel/" |
| // } |
| // resourceSet = org.eclipse.xtext.resource.XtextResourceSet : theResourceSet {} |
| scanClassPath = true |
| platformUri = "${runtimeProject}/.." |
| registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage" |
| registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel" |
| registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel" |
| registerEcoreFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xtype.ecore" |
| registerEcoreFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.ecore" |
| registerGenModelFile = "platform:/resource/org.eclipse.osbp.ecview.dsl/model/UIGrammarCore.genmodel"///* |
| // * ECView |
| // */ |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.common.model.datatypes.DatatypesPackage" |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage" |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.common.model.binding.BindingPackage" |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage" |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.common.model.visibility.VisibilityPackage" |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesPackage" |
| // registerGeneratedEPackage = "org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage" |
| // registerGenModelFile = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/core.genmodel" |
| // registerGenModelFile = "platform:/resource/org.eclipse.osbp.ecview.core.extension.model/model/extension.genmodel"// |
| /* |
| * UiModelPackages |
| */ |
| registerGeneratedEPackage = "org.eclipse.osbp.ecview.semantic.uisemantics.UiSemanticsPackage" |
| registerGenModelFile = |
| "platform:/resource/org.eclipse.osbp.ecview.uisemantics/model/UISemanticsGrammar.genmodel" |
| registerGeneratedEPackage = "org.eclipse.osbp.ecview.semantic.uimodel.UiModelPackage" |
| registerGenModelFile = "platform:/resource/org.eclipse.osbp.ecview.dsl/model/UIGrammarCore.genmodel"// |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/binding.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/core.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/datatypes.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/validation.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.common.model/model/visibility.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.extension.model/model/extdatatypes.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.core.extension.model/model/extension.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.uisemantics/model/UISemanticsGrammar.ecore" |
| // registerEcoreFile = "platform:/resource/org.eclipse.osbp.ecview.dsl/model/UIGrammarCore.ecore" |
| } |
| |
| component = DirectoryCleaner { |
| directory = "${runtimeProject}/src-gen" |
| } |
| |
| component = DirectoryCleaner { |
| directory = "${runtimeProject}/model/generated" |
| } |
| |
| component = DirectoryCleaner { |
| directory = "${runtimeProject}.ui/src-gen" |
| } |
| |
| component = DirectoryCleaner { |
| directory = "${runtimeProject}.tests/src-gen" |
| } |
| |
| component = Generator { |
| pathRtProject = runtimeProject |
| pathUiProject = "${runtimeProject}.ui" |
| pathTestProject = "${runtimeProject}.tests" |
| projectNameRt = projectName |
| projectNameUi = "${projectName}.ui" |
| encoding = encoding |
| language = auto-inject { |
| // forcedResourceSet = theResourceSet |
| uri = grammarURI |
| fragment = ecore.EcoreGeneratorFragment auto-inject {} |
| |
| // 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 = { |
| // backtrack = true |
| classSplitting = true |
| // fieldsPerClass = "80" |
| // methodsPerClass = "80" |
| } |
| } |
| |
| // Xtend-based API for validation |
| fragment = validation.ValidatorFragment auto-inject { |
| // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" |
| // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" |
| } |
| |
| // old scoping and exporting API |
| // fragment = scoping.ImportURIScopingFragment auto-inject {} |
| // fragment = exporting.SimpleNamesFragment auto-inject {} |
| |
| // scoping and exporting API |
| fragment = scoping.ImportNamespacesScopingFragment 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 { |
| generateStub=true |
| generateXtendStub=false |
| } |
| |
| // 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 = "80" |
| // methodsPerClass = "80" |
| } |
| } |
| |
| // generates junit test support classes into Generator#pathTestProject |
| fragment = junit.Junit4Fragment 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 {} |
| |
| // generates the required bindings only if the grammar inherits from Xtype |
| fragment = xbase.XtypeGeneratorFragment auto-inject {} |
| |
| // provides a preference page for template proposals |
| fragment = templates.CodetemplatesGeneratorFragment auto-inject {} |
| |
| // provides a compare view |
| fragment = compare.CompareFragment auto-inject {} |
| } |
| } |
| } |
| |