Exporting ECL Traces in Ant Tasks [message #1841044] |
Sat, 01 May 2021 16:26 |
Patrick Stünkel Messages: 3 Registered: September 2019 |
Junior Member |
|
|
Hi everyone,
I am currently trying to export th match-trace from running an ECL script into a file using the ANT workflow language.
However, I do not understand how to configure the export.
The <epsilon.ecl> task has an attribute "exportMatchTrace" of type String. But it is unclear what value to put in this field. I tried several things:
- true
- Filename
- Model name, which should be stored with a respective <epsilon.storeModel>
However, nothing works. And the documentation (https://www.eclipse.org/epsilon/doc/workflow/#model-comparison-task) is quite unclear on this matter.
The following example snippet
<target name="runEpsilon" depends="setup-epsilon">
<epsilon.emf.loadModel name="Fam" modelfile="data/Families.families" metamodelfile="metamodels/Families.ecore"/>
<epsilon.emf.loadModel name="Pers" modelfile="data/Persons.persons" metamodelfile="metamodels/Persons.ecore"/>
<epsilon.ecl src="MatchFamiliesPersons.ecl" exportMatchTrace="Traces" >
<model ref="Fam"/>
<model ref="Pers"/>
</epsilon.ecl>
<epsilon.storeModel model="Traces" target="traces.xmi" />
</target>
fails with
/Users/...../build.xml:93: Model 'Traces' not found
at org.eclipse.epsilon.eol.models.ModelGroup.<init>(ModelGroup.java:43)
at org.eclipse.epsilon.eol.models.ModelRepository.getModelByName(ModelRepository.java:94)
at org.eclipse.epsilon.workflow.tasks.StoreModelTask.executeImpl(StoreModelTask.java:32)
at org.eclipse.epsilon.workflow.tasks.EpsilonTask.execute(EpsilonTask.java:42)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at jdk.internal.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:352)
at org.apache.tools.ant.Target.execute(Target.java:437)
at org.apache.tools.ant.Target.performTasks(Target.java:458)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1406)
at org.apache.tools.ant.Project.executeTarget(Project.java:1377)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1261)
at org.apache.tools.ant.Main.runBuild(Main.java:857)
at org.apache.tools.ant.Main.startAnt(Main.java:236)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:287)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
Furthermore, I found an inconsistency in your documentation: Here it says that <epsilon.storeModel> has "name" attribute, which does not work
And, apparently, someone in 2010 had the same issue...
By looking into the source I found out that the respective attribute is named "model". Maybe, you should consider updating the documentation or the name of the attribute.
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02944 seconds