I created an Xpand generator. In my src / I folder, I defined the My.nn model of the model and the workflow.
This is what my workflow.mwe2 file looks like:
module workflow.NeuralNetworksGenerator import org.eclipse.emf.mwe.utils.* var targetDir = "src-gen" var fileEncoding = "Cp1252" var modelPath = "src/model" Workflow { component = org.eclipse.xtext.mwe.Reader {
When I try to run this workflow.mwe2 file as an MWE2 workflow, I get the following errors:
0 INFO AbstractExpressionsUsingWorkflowComponent - No meta models configured, using JavaBeans as default. 75 ERROR Mwe2Launcher - Problems running workflow workflow.NeuralNetworksGenerator: Couldn't find EClass for name 'System'. java.lang.RuntimeException: Problems running workflow workflow.NeuralNetworksGenerator: Couldn't find EClass for name 'System'. at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:99) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35) Caused by: org.eclipse.emf.mwe.core.WorkflowInterruptedException: Couldn't find EClass for name 'System'. at org.eclipse.xtext.mwe.SlotEntry.findEClasses(SlotEntry.java:135) at org.eclipse.xtext.mwe.SlotEntry.put(SlotEntry.java:91) at org.eclipse.xtext.mwe.AbstractReader.addModelElementsToContext(AbstractReader.java:95) at org.eclipse.xtext.mwe.Reader.invokeInternal(Reader.java:166) at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126) at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34) at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201) at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35) at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19) at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:97) ... 5 more
The example I used to create my specialized workflow mwe2 file is taken from the Xpand reference manual.
This is a list of plug-in dependencies on the MANIFEST.MF file:
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: my.neuralnetworks.generator.project Bundle-SymbolicName: my.neuralnetworks.generator.project; singleton:=true Bundle-Version: 1.0.0 Require-Bundle: org.eclipse.jdt.core;bundle-version="3.5.0", org.eclipse.xtend.profiler;resolution:=optional, org.apache.commons.logging, org.apache.log4j;resolution:=optional, com.ibm.icu;bundle-version="4.0.1", org.antlr.runtime;bundle-version="3.0.0", org.eclipse.core.runtime;bundle-version="3.5.0", org.eclipse.emf.mwe.utils;bundle-version="0.7.0", org.eclipse.emf.ecore.xmi;bundle-version="2.5.0", org.eclipse.jface.text;bundle-version="3.5.0", org.eclipse.xpand;bundle-version="0.7.0", org.eclipse.xtend;bundle-version="0.7.0", org.eclipse.xtend.typesystem.emf;bundle-version="0.7.0", org.eclipse.xtend.backend;bundle-version="1.0.0";resolution:=optional, org.eclipse.xtend.middleend.xpand;bundle-version="1.0.0";resolution:=optional, org.eclipse.xtend.middleend.xtend;bundle-version="1.0.0";resolution:=optional, neuralnetworks;bundle-version="1.0.0", org.xtext.example.neuralnetworks;bundle-version="1.0.0", org.eclipse.emf.ecore.xmi.source;bundle-version="2.7.0", org.eclipse.jface.text.source;bundle-version="3.7.0", org.antlr.runtime.source;bundle-version="3.2.0", org.antlr.runtime_3.1.b1;bundle-version="3.1.0", com.ibm.icu.source;bundle-version="4.4.2", org.eclipse.jdt.core.source;bundle-version="3.7.0", org.eclipse.emf.mwe2.launch;bundle-version="2.2.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Import-Package: nn
The neuralnetworks plugin links to my gmf project for my graphics editor, where the metamodel is found, and org.xtext.example.neuralnetworks is the one that matches my text editor.
The ecore file corresponding to the emf file has an EClass system in it.