| /* | 
 |  * Copyright (c) 2011 Google Inc. | 
 |  * | 
 |  * 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 | 
 |  *  | 
 |  * Generated by Xtext | 
 |  */ | 
 | module com.google.eclipse.protobuf.Protobuf | 
 |  | 
 | import org.eclipse.emf.mwe.utils.* | 
 | import org.eclipse.xtext.generator.* | 
 | import org.eclipse.xtext.ui.generator.* | 
 |  | 
 | var grammarURI = "classpath:/com/google/eclipse/protobuf/Protobuf.xtext" | 
 | var file.extensions = "proto, protodevel" | 
 | var projectName = "com.google.eclipse.protobuf" | 
 | var runtimeProject = "../${projectName}" | 
 |  | 
 | Workflow { | 
 |   bean = StandaloneSetup { | 
 |     platformUri = "${runtimeProject}/.." | 
 |   } | 
 |  | 
 |   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 { | 
 |       // referencedGenModels = "uri to genmodel, uri to next genmodel" | 
 |       } | 
 |        | 
 |       // Serializer 2.0 | 
 |       fragment = serializer.SerializerFragment { | 
 |         generateStub = false | 
 |       } | 
 |  | 
 |       // the serialization component | 
 |       // fragment = parseTreeConstructor.ParseTreeConstructorFragment {} | 
 |  | 
 |       // 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" | 
 |       // registerForImportedPackages = true | 
 |       } | 
 |  | 
 |       // scoping and exporting API | 
 |       // fragment = scoping.ImportURIScopingFragment {} | 
 |       // fragment = exporting.SimpleNamesFragment {} | 
 |  | 
 |       // scoping and exporting API  | 
 |       fragment = scoping.ImportNamespacesScopingFragment {} | 
 |       fragment = exporting.QualifiedNamesFragment {} | 
 |       fragment = builder.BuilderIntegrationFragment {} | 
 |  | 
 |       // formatter API  | 
 |       fragment = formatting.FormatterFragment {} | 
 |  | 
 |       // labeling API  | 
 |       fragment = labeling.LabelProviderFragment {} | 
 |  | 
 |       // outline API  | 
 |       fragment = outline.OutlineTreeProviderFragment {} | 
 |       fragment = outline.QuickOutlineFragment {} | 
 |  | 
 |       // quickfix API  | 
 |       fragment = quickfix.QuickfixProviderFragment {} | 
 |  | 
 |       // rename refactoring | 
 |       fragment = refactoring.RefactorElementNameFragment {} | 
 |  | 
 |       // content assist API   | 
 |       fragment = contentAssist.JavaBasedContentAssistFragment {} | 
 |  | 
 |       // generates a more lightweight Antlr parser and lexer tailored for content assist   | 
 |       fragment = parser.antlr.XtextAntlrUiGeneratorFragment { | 
 |         // options = { | 
 |         //   backtrack = true | 
 |         // } | 
 |       } | 
 |  | 
 |       // project wizard (optional)  | 
 |       // fragment = projectWizard.SimpleProjectWizardFragment { | 
 |       // 		generatorProjectName = "${projectName}.generator"  | 
 |       //		modelFileExtension = file.extensions | 
 |       // } | 
 |     } | 
 |   } | 
 | } |