
org.eclipse.xtext.xbase.GenerateXbase.mwe2 Maven / Gradle / Ivy
/*******************************************************************************
* 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.xbase.GenerateXbase
import org.eclipse.emf.mwe.utils.*
import org.eclipse.xtext.generator.*
import org.eclipse.xtext.ui.generator.*
import org.eclipse.xtext.generator.parser.antlr.*
import org.eclipse.xtext.resource.XtextResourceSet
var projectName = "org.eclipse.xtext.xbase"
var runtimeProject = "../${projectName}"
var uiProject = "${runtimeProject}.ui"
var backtrack = false
var memoize = false
Workflow {
bean = StandaloneSetup {
// the maven archetype contains a template file called .project
ignoreBrokenProjectFiles = true
platformUri = "${runtimeProject}/../.."
scanClassPath = true
}
bean = StandaloneSetup {
resourceSet = XtextResourceSet : xtypeResourceSet {}
registerEcoreFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.ecore"
registerEcoreFile = "platform:/resource/${projectName}/model/Xtype.ecore"
}
bean = StandaloneSetup {
resourceSet = XtextResourceSet : xbaseResourceSet {}
registerEcoreFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.ecore"
registerEcoreFile = "platform:/resource/${projectName}/model/Xtype.ecore"
registerEcoreFile = "platform:/resource/${projectName}/model/Xbase.ecore"
}
bean = StandaloneSetup {
resourceSet = XtextResourceSet : xannotationsResourceSet {}
registerEcoreFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.ecore"
registerEcoreFile = "platform:/resource/${projectName}/model/Xtype.ecore"
registerEcoreFile = "platform:/resource/${projectName}/model/Xbase.ecore"
registerEcoreFile = "platform:/resource/${projectName}/model/XAnnotations.ecore"
}
component = DirectoryCleaner {
directory="${runtimeProject}/emf-gen"
}
component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
genModel = "platform:/resource/${projectName}/model/Xbase.genmodel"
srcPath ="platform:/resource/${projectName}/src"
srcPath ="platform:/resource/org.eclipse.xtext.common.types/src"
}
component = DirectoryCleaner {
directory="${uiProject}/src-gen"
}
component = DirectoryCleaner {
directory="${runtimeProject}/src-gen"
}
component = Generator {
pathRtProject = runtimeProject
pathUiProject = uiProject
projectNameRt = projectName
projectNameUi = "${projectName}.ui"
language = {
forcedResourceSet = xtypeResourceSet
uri = "classpath:/org/eclipse/xtext/xbase/Xtype.xtext"
fileExtensions="___xtype"
fragment = grammarAccess.GrammarAccessFragment {}
fragment = serializer.SerializerFragment {
// generateDebugData = true
}
fragment = formatting.FormatterFragment {}
fragment = contentAssist.JavaBasedContentAssistFragment {}
fragment = XtextAntlrGeneratorFragment {
options = auto-inject {}
}
}
language = {
forcedResourceSet = xbaseResourceSet
uri = "classpath:/org/eclipse/xtext/xbase/Xbase.xtext"
fileExtensions = "___xbase"
fragment = grammarAccess.GrammarAccessFragment {}
fragment = serializer.SerializerFragment {
// generateDebugData = true
}
fragment = resourceFactory.ResourceFactoryFragment {
fileExtensions = "___xbase"
}
fragment = XtextAntlrGeneratorFragment {
options = auto-inject {}
antlrParam = "-Xconversiontimeout" antlrParam = "10000"
}
fragment = DebugAntlrGeneratorFragment {
options = auto-inject {}
}
fragment = validation.JavaValidatorFragment {
inheritImplementation = false
}
fragment = scoping.ImportNamespacesScopingFragment {}
fragment = types.TypesGeneratorFragment {}
fragment = xbase.XbaseGeneratorFragment {
generateXtendInferrer = false
useInferredJvmModel = false
jdtTypeHierarchy = false
}
fragment = builder.BuilderIntegrationFragment {}
fragment = formatting.FormatterFragment {}
fragment = quickfix.QuickfixProviderFragment {}
fragment = labeling.LabelProviderFragment {}
fragment = outline.OutlineTreeProviderFragment {}
fragment = contentAssist.JavaBasedContentAssistFragment {}
fragment = XtextAntlrUiGeneratorFragment {
options = auto-inject {}
antlrParam = "-Xconversiontimeout" antlrParam = "10000"
}
}
language = {
forcedResourceSet = xannotationsResourceSet
uri = "classpath:/org/eclipse/xtext/xbase/annotations/XbaseWithAnnotations.xtext"
fileExtensions = "___xbasewithannotations"
fragment = grammarAccess.GrammarAccessFragment {}
fragment = serializer.SerializerFragment {
// generateDebugData = true
}
fragment = resourceFactory.ResourceFactoryFragment {
fileExtensions = "___xbasewithannotations"
}
fragment = XtextAntlrGeneratorFragment {
options = auto-inject {}
antlrParam = "-Xconversiontimeout" antlrParam = "10000"
}
fragment = DebugAntlrGeneratorFragment {
options = auto-inject {}
}
fragment = validation.JavaValidatorFragment {}
fragment = scoping.ImportNamespacesScopingFragment {}
fragment = types.TypesGeneratorFragment {}
fragment = xbase.XbaseGeneratorFragment {
generateXtendInferrer = false
useInferredJvmModel = false
jdtTypeHierarchy = false
}
fragment = builder.BuilderIntegrationFragment {}
fragment = formatting.FormatterFragment {}
fragment = quickfix.QuickfixProviderFragment {}
fragment = labeling.LabelProviderFragment {}
fragment = outline.OutlineTreeProviderFragment {}
fragment = contentAssist.JavaBasedContentAssistFragment {}
fragment = XtextAntlrUiGeneratorFragment {
options = auto-inject {}
antlrParam = "-Xconversiontimeout" antlrParam = "10000"
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy