Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » When Including JavaVMTypes MWE generates useless classes
When Including JavaVMTypes MWE generates useless classes [message #722418] Mon, 05 September 2011 18:15 Go to next message
michael.blunk is currently offline michael.blunkFriend
Messages: 7
Registered: November 2009
Junior Member
Hi there,
I have the following setup (actually I borrowed a lot of it from Xdoc, which is really great work!):
- A nice xtext grammar using JavaVMTypes (import "http://www.eclipse.org/xtext/common/JavaVMTypes" as jvmTypes) and my own ecore-model
- When I generate using the genmodel, everything works, and I get my own classes generated right where they should and they reference the classes from org.eclipse.xtext.common.types
- Everything's fine

Then I try to run the mwe-workflow (code below), which actually works fine as well.
But, the result is that all classes from the JavaVMTypes get generated too (into emf-gen/types) and my own generated classes reference them instead of the org.eclipse.xtext.common.types.

Sorry, I just don't get it. Maybe somebody can help.
Best regards
Michael

module on.core.doc.xdoc.Xdoc

import org.eclipse.emf.mwe.utils.*
import org.eclipse.xtext.generator.*
import org.eclipse.xtext.ui.generator.*

var grammarURI = "platform:/resource/on.core.doc.xdoc/src/on/core/doc/xdoc/Xdoc.xtext"
var file.extensions = "xdoc"
var projectName = "on.core.doc.xdoc"
var runtimeProject = "../${projectName}"

Workflow {
    bean = StandaloneSetup {
		platformUri = "${runtimeProject}/../.."
	}
	component = DirectoryCleaner {
		directory = "${runtimeProject}/emf-gen"
	}
	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
		genModel = "platform:/resource/on.core.doc.xdoc/model/Xdoc.genmodel"
		srcPath = "platform:/resource/on.core.doc.xdoc/src"
	}
	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
			fragment = grammarAccess.GrammarAccessFragment {}
			// the serialization component
			fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
			fragment = resourceFactory.ResourceFactoryFragment {
				fileExtensions = file.extensions
			}
			fragment = parser.antlr.XtextAntlrGeneratorFragment {
			//  options = {
			//		backtrack = true
			//	}
			}

			fragment = validation.JavaValidatorFragment {
				composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// registerForImportedPackages = true
			}

			fragment = scoping.ImportNamespacesScopingFragment {}
			fragment = exporting.QualifiedNamesFragment {}
			fragment = builder.BuilderIntegrationFragment {}
			fragment = types.TypesGeneratorFragment {}
			fragment = formatting.FormatterFragment {}
			fragment = labeling.LabelProviderFragment {}
			fragment = outline.OutlineTreeProviderFragment {}
			fragment = outline.QuickOutlineFragment {}
			fragment = quickfix.QuickfixProviderFragment {}
			fragment = contentAssist.JavaBasedContentAssistFragment {}
			fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}
			fragment = generator.GeneratorFragment{}
		}
	}
}


Re: When Including JavaVMTypes MWE generates useless classes [message #722420 is a reply to message #722418] Mon, 05 September 2011 18:17 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

am missing domething like

bean = StandaloneSetup {
  registerGenModelFile = 
     "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
}



~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
(no subject) [message #722422 is a reply to message #722418] Mon, 05 September 2011 18:17 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

am missing domething like


bean = StandaloneSetup {
registerGenModelFile =
"platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
}



~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: (no subject) [message #722427 is a reply to message #722420] Mon, 05 September 2011 18:34 Go to previous message
michael.blunk is currently offline michael.blunkFriend
Messages: 7
Registered: November 2009
Junior Member
Hi,
thank you very much, now it works. Actually I had to add this:
    bean = StandaloneSetup {
    	scanClassPath=true
		platformUri = "${runtimeProject}/../.."
		registerGenModelFile = "platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"
	}


Thank you Christian, again
Michael
Previous Topic:Help with scoping
Next Topic:Can XtextBuilder be made aware of preference changes
Goto Forum:
  


Current Time: Thu Apr 25 23:11:31 GMT 2024

Powered by FUDForum. Page generated in 0.05468 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top