|
|
|
|
|
Re: (Xpand) How to access ecore.ecore via Xpand code [message #948181 is a reply to message #948170] |
Wed, 17 October 2012 20:49 |
|
Hi,
still the question do you want to generate from ecore.ecore as model our from your.ecore an model?
in both cases read the .ecore file and write a template
that operates on EPackages EClasses ......
e.g. for the example project
«DEFINE main FOR ecore::EPackage»
«FILE name+".txt"»
EPackage «name»
EClasses «eClassifiers.typeSelect(ecore::EClass).name.toString(",")»
«ENDFILE»
«ENDDEFINE»
<?xml version="1.0"?>
<workflow>
<property name="model" value="my.generator.project/src/metamodel/metamodel.ecore" />
<property name="src-gen" value="src-gen" />
<!-- set up EMF for standalone execution -->
<bean class="org.eclipse.emf.mwe.utils.StandaloneSetup" >
<platformUri value=".."/>
</bean>
<!-- instantiate metamodel -->
<bean id="mm_emf" class="org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel"/>
<!-- load model and store it in slot 'model' -->
<component class="org.eclipse.emf.mwe.utils.Reader">
<uri value="platform:/resource/${model}" />
<modelSlot value="model" />
</component>
<!-- generate code -->
<component class="org.eclipse.xpand2.Generator">
<metaModel idRef="mm_emf"/>
<expand
value="template::Template::main FOR model" />
<outlet path="${src-gen}" >
<postprocessor class="org.eclipse.xpand2.output.JavaBeautifier" />
</outlet>
</component>
</workflow>
~Christian
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
|
|
|
|
Powered by
FUDForum. Page generated in 0.03656 seconds