|[ATL] Ant Task classpath problem [message #807131]
||Sat, 25 February 2012 21:10
| Martin Missing name
Registered: June 2011
I am trying to instantiate the ATL Ant Tasks org.eclipse.m2m.atl.core.ant.tasks.LoadModelTask/ATLModelTransformationTask/SaveModelTask inside my java code. i.e. to invoke ATL using plain java code. Inside my eclipse plugin project I have declared the org.eclipse.m2m.atl.core.ant (v3.2.1) as a dependency. This contains the ant task code.|
However, inside this org.eclipse.m2m.atl.core.ant bundle, the ant code is packaged as an embedded jar file inside ./lib/atlAntTasks.jar. The packages are indeed exported in the manifest of the parent bundle. But my eclipse complains that it can't see the class.
AFAIK this actually makes sense because the parent bundle does *not* have a Bundle-ClassPath entry - I would expect it to say "Bundle-ClassPath ./lib/atlAntTasks.jar".
Isn't this a bug? - that the Export-Package manifest entry is effectively having no effect and the ant classes continue to be encapsulated inside the bundle?
Or is there another way for me to instantiate these classes - I see the plugin declares an extension on org.eclipse.ant.core.antTasks but I'm not very familiar with this approach. (using extensions etc.)
Otherwise, can anyone advise on the easiest way to invoke an ATL Transformation (i.e. execute the already generates *.asm file) from inside java code.