[Acceleo] Metamodel resolving and URI [message #891682] |
Mon, 25 June 2012 13:38 |
Michaël Melchiore Messages: 47 Registered: April 2012 |
Member |
|
|
Hi folks,
In my workspace, I have defined several metamodels which may inherit from each other. Finally, other plugins are acceleo generators that use these metamodels.
Upon Eclipse start-up, Acceleo seems to fail at walking through the metamodel inheritance tree. Previously valid Acceleo scripts, spread in different plugins, are now filled with errors. Trying to launch generation anyway results in exceptions about unresolved URI.
My current workaround is to deactivate automatic building and clean the workspace. Then, I randomly delete and regenerate code from metamodels, edit and save offending Acceleo scripts while rebuilding and cleaning the workspace. At some point, Acceleo becomes happy. The process is random, it can take 5 to 20 mins bedore I can start working...
This is very annonying since I cannot restart Eclipse without repeating the whole process. I have double checked that all my Acceleo generators use XMI serialization.
First, Java code is generated from metamodels in dedicated plugins to ease version management. Should Acceleo plugins depend on the metamodel plugin or the Java code generated plugin ?
What kind of compilation path should I set in the Acceleo generator properties window ? (Currently, I use "Absolute file system paths")
Finally, I have found that different genmodel files can use different URI scheme to reference the same metamodel : workspace relative "../../blabla" or platform "platform:/plugin/" Could this explain my problems ?
Regards,
Michaël
NOTE: I am using Eclipse 3.6.2 with EMF 2.6.1 and Acceleo 3.2.1 (20120511)
|
|
|
Re: [Acceleo] Metamodel resolving and URI [message #891686 is a reply to message #891682] |
Mon, 25 June 2012 13:45 |
Ed Willink Messages: 7655 Registered: July 2009 |
Senior Member |
|
|
Hi
I strongly recommend Acceleo 3.3 post M6. (I found 3.2 unuseable for my
meta-models.)
Regards
Ed Willink
On 25/06/2012 14:38, Michaël Melchiore wrote:
> Hi folks,
>
> In my workspace, I have defined several metamodels which may inherit
> from each other. Finally, other plugins are acceleo generators that
> use these metamodels.
>
> Upon Eclipse start-up, Acceleo seems to fail at walking through the
> metamodel inheritance tree. Previously valid Acceleo scripts, spread
> in different plugins, are now filled with errors. Trying to launch
> generation anyway results in exceptions about unresolved URI.
>
> My current workaround is to deactivate automatic building and clean
> the workspace. Then, I randomly delete and regenerate code from
> metamodels, edit and save offending Acceleo scripts while rebuilding
> and cleaning the workspace. At some point, Acceleo becomes happy. The
> process is random, it can take 5 to 20 mins bedore I can start working...
>
> This is very annonying since I cannot restart Eclipse without
> repeating the whole process. I have double checked that all my Acceleo
> generators use XMI serialization.
>
> First, Java code is generated from metamodels in dedicated plugins to
> ease version management. Should Acceleo plugins depend on the
> metamodel plugin or the Java code generated plugin ?
>
> What kind of compilation path should I set in the Acceleo generator
> properties window ? (Currently, I use "Absolute file system paths")
>
> Finally, I have found that different genmodel files can use different
> URI scheme to reference the same metamodel : workspace relative
> "../../blabla" or platform "platform:/plugin/" Could this explain my
> problems ?
>
> Regards,
>
> Michaël
>
>
> NOTE: I am using Eclipse 3.6.2 with EMF 2.6.1 and Acceleo 3.2.1
> (20120511)
|
|
|
Re: [Acceleo] Metamodel resolving and URI [message #892202 is a reply to message #891686] |
Wed, 27 June 2012 11:55 |
Michaël Melchiore Messages: 47 Registered: April 2012 |
Member |
|
|
Thanks for your input.
I have upgraded to Acceleo 3.3.0.v20120529-1042, but still have the problem. It does seem to occur less often though (not at every Eclipse restart)
Edit:
In the emtl files, the root metamodel is correctly referenced through its Ns URI. However, I witness a strange behavior in the Acceleo editor: when I try to jump to the declaration of a class whose metamodel imports the unfound root metamodel, a FileNotFoundException is thrown. In the exception message, the unfound root metamodel is referenced through a workspace relative path.
[Updated on: Wed, 27 June 2012 12:21] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.03994 seconds