Hi,
I've found nothing a bout ATL ant tasks, I therefore I my question.
I'm trrying to launch an ATL transformation with ant. A part of my ant
script can be found hereafter.
======================================================================
<project>
<path id="pluginsclasspath">
<pathelement location="${basedir}/lib/atlAntTasks.jar"/>
<fileset dir="C:/sfo/tools/ganymede/plugins" includes="**/*.jar"/>
</path>
<property name="atl.launcher" value="EMF-specific VM" />
<taskdef name="atl.loadModel"
classname="org.eclipse.m2m.atl.core.ant.tasks.LoadModelTask">
<classpath>
<path refid="pluginsclasspath"/>
</classpath>
</taskdef>
<atl.loadModel name="UML" metamodel="MOF"
nsURI="http://www.eclipse.org/uml2/2.1.0/UML" />
</project>
=========================================================================
On runnuing that script, I get the following error message :
=========================================================================
org.eclipse.m2m.atl.core.ATLCoreException:
org.eclipse.m2m.atl.core.launcher EMF-specific VM not found, check the
spelling or register it manually.
=========================================================================
The detailed exception follows :
C:\sfo\work\svnspace\PMETAMODEL-TRANS\build.xml:30: Unable to load
launcher EMF-specific VM
at ...
org.eclipse.m2m.atl.core.ATLCoreException:
org.eclipse.m2m.atl.core.launcher EMF-specific VM not found, check the
spelling or register it manually
at
org.eclipse.m2m.atl.core.service.CoreService.getExtensionClass(CoreService.java:148)
at
org.eclipse.m2m.atl.core.service.CoreService.getLauncher(CoreService.java:186)
at
org.eclipse.m2m.atl.core.ant.tasks.AbstractAtlTask.getLauncher(AbstractAtlTask.java:131)
at
org.eclipse.m2m.atl.core.ant.tasks.AbstractAtlTask.getDefaultModelFactory(AbstractAtlTask.java:148)
at
org.eclipse.m2m.atl.core.ant.tasks.LoadModelTask.execute(LoadModelTask.java:110)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at
org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:142)
at
org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93)
at org.apache.tools.ant.Main.runBuild(Main.java:743)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
================================================================
I finally understood that
org.eclipse.m2m.atl.core.service.CoreService.getExtensionClass failed to
retrieve the name of the class related to the extension point
org.eclipse.m2m.core.atl.launcher. What seems really strange is that
everything works well within Eclipse with the same class CoreService,
which means that the way it raeds information from Eclipse plugin registry
is OK. I wondered whether everything necessary could be found into my
class path. I therefor put all the jars of my eclipse plugins directory in
the classpath, but I still have the error. I really don't see what I
should check, If someone has an idea.
I use atl 3.0 and eclipse ganymede.
Regards,
Stephane