Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMT (Generative Modeling Technologies) » [TCS] Last version of TCS injector from CVS
[TCS] Last version of TCS injector from CVS [message #381226] Wed, 13 February 2008 15:02 Go to next message
Guillaume Savaton is currently offline Guillaume SavatonFriend
Messages: 19
Registered: July 2009
Junior Member
Hi,

I am trying to reinstall ATL, TCS, etc from the available CVS sources.

I am experiencing some problems when trying to rebuild a (previously
working) TCS language project using AMMACore and AMMAScripts.
The build process fails when injecting the generated megamodel file (.mgm)

Here is the error message :

java.lang.NoSuchMethodError:
org.eclipse.gmt.tcs.injector.TCSInjector.createEnumLiteral(L java/lang/String;)Ljava/lang/Object;
at
org.eclipse.gmt.tcs.injector.AM3_ANTLR3Parser.locationType(A M3_ANTLR3Parser.java:635)
etc.

After exploring the differences between my previous setup and the new
plugin sources from the CVS repository, I have seen that changes have
occurred in TCSInjector.java : method createEnumLiteral() now returns an
Object instead of an ASMEnumLiteral.

I guess that my problem comes from the fact that the plugin
org.eclipse.m2m.atl.engine provides the previous version of class
TCSInjector (in lib/org.eclipse.gmt.tcs.injector_1.0.0.jar) while the AM3
parser uses the new version.

So, if my guess is correct, this message is a reminder that new JAR files
should be commited in org.eclipse.m2m.atl.engine/lib.

Thanks, and best regards,

Guillaume
Re: [TCS] Last version of TCS injector from CVS [message #381227 is a reply to message #381226] Thu, 14 February 2008 07:24 Go to previous messageGo to next message
Frédéric Jouault is currently offline Frédéric JouaultFriend
Messages: 572
Registered: July 2009
Senior Member
Hi,


Here are the reasons for the problem you encountered:
-----------------------------------------------------
We are currently improving TCS. For instance, we are progressively
removing the dependencies from TCSInjector to the older VM (e.g.,
ASMEnumLiteral). When this is done, you will still be able to use TCS
with both VMs, but you should not require the older one if you only want
to use the new one.

These changes require a rebuild of all parsers, as you noticed.

However, we are also preparing ATL to be released with Ganymede (i.e.,
Eclipse 3.4M5) for next week. For this reason, we decided to not
introduce potential errors in ATL at the current time. The changes were
committed in a new plugin, and in a separate branch for impacted
existing plugins.


Here are possible solutions to the problem:
-------------------------------------------
- Wait until we commit the changes to HEAD on ATL, and use an older
version of TCS in the mean time.
- Use the new version by checking out the following elements:
- get new plugin org.eclipse.m2m.atl.dsls from HEAD
- get plugin org.eclipse.m2m.atl.engine from branch
DSL_binaries_separation (I would recommend deleting the project then
checking out the new branch, because we encountered problems with
"switch to branch").


Here are some additional remarks:
---------------------------------
There is also an additional plugin in TCS that you should check out in
order to have all dependencies of the TCS plugins: org.eclipse.gmt.tcs.dsls.

These two new plugins (org.eclipse.{m2m.atl,gmt.tcs}.dsls) contain the
compiled version of required DSLs:
- ATL, and ACG for org.eclipse.m2m.atl.dsls
- TCS, KM3, and others for org.eclipse.gmt.tcs.dsls

This is also part of the improvements we are working on. When this
separation of DSL binaries is done, each element should appear only
once. This will make updates simpler.


Regards,

Frédéric Jouault


Guillaume Savaton wrote:
> Hi,
>
> I am trying to reinstall ATL, TCS, etc from the available CVS sources.
>
> I am experiencing some problems when trying to rebuild a (previously
> working) TCS language project using AMMACore and AMMAScripts.
> The build process fails when injecting the generated megamodel file (.mgm)
>
> Here is the error message :
>
> java.lang.NoSuchMethodError:
> org.eclipse.gmt.tcs.injector.TCSInjector.createEnumLiteral(L java/lang/String;)Ljava/lang/Object;
>
> at
> org.eclipse.gmt.tcs.injector.AM3_ANTLR3Parser.locationType(A M3_ANTLR3Parser.java:635)
>
> etc.
>
> After exploring the differences between my previous setup and the new
> plugin sources from the CVS repository, I have seen that changes have
> occurred in TCSInjector.java : method createEnumLiteral() now returns an
> Object instead of an ASMEnumLiteral.
>
> I guess that my problem comes from the fact that the plugin
> org.eclipse.m2m.atl.engine provides the previous version of class
> TCSInjector (in lib/org.eclipse.gmt.tcs.injector_1.0.0.jar) while the
> AM3 parser uses the new version.
>
> So, if my guess is correct, this message is a reminder that new JAR
> files should be commited in org.eclipse.m2m.atl.engine/lib.
>
> Thanks, and best regards,
>
> Guillaume
>
Re: [TCS] Last version of TCS injector from CVS [message #381228 is a reply to message #381227] Thu, 14 February 2008 13:22 Go to previous message
Guillaume Savaton is currently offline Guillaume SavatonFriend
Messages: 19
Registered: July 2009
Junior Member
This solution fixed my problem :

> - Use the new version by checking out the following elements:
> - get new plugin org.eclipse.m2m.atl.dsls from HEAD
> - get plugin org.eclipse.m2m.atl.engine from branch DSL_binaries_separation

But I understand that this is just a temporary solution.

I will try the next official stable release as soon as it is available,
instead of relying on CVS builds.

Thanks for your help,

Guillaume
Re: [TCS] Last version of TCS injector from CVS [message #613163 is a reply to message #381226] Thu, 14 February 2008 07:24 Go to previous message
Frédéric Jouault is currently offline Frédéric JouaultFriend
Messages: 572
Registered: July 2009
Senior Member
Hi,


Here are the reasons for the problem you encountered:
-----------------------------------------------------
We are currently improving TCS. For instance, we are progressively
removing the dependencies from TCSInjector to the older VM (e.g.,
ASMEnumLiteral). When this is done, you will still be able to use TCS
with both VMs, but you should not require the older one if you only want
to use the new one.

These changes require a rebuild of all parsers, as you noticed.

However, we are also preparing ATL to be released with Ganymede (i.e.,
Eclipse 3.4M5) for next week. For this reason, we decided to not
introduce potential errors in ATL at the current time. The changes were
committed in a new plugin, and in a separate branch for impacted
existing plugins.


Here are possible solutions to the problem:
-------------------------------------------
- Wait until we commit the changes to HEAD on ATL, and use an older
version of TCS in the mean time.
- Use the new version by checking out the following elements:
- get new plugin org.eclipse.m2m.atl.dsls from HEAD
- get plugin org.eclipse.m2m.atl.engine from branch
DSL_binaries_separation (I would recommend deleting the project then
checking out the new branch, because we encountered problems with
"switch to branch").


Here are some additional remarks:
---------------------------------
There is also an additional plugin in TCS that you should check out in
order to have all dependencies of the TCS plugins: org.eclipse.gmt.tcs.dsls.

These two new plugins (org.eclipse.{m2m.atl,gmt.tcs}.dsls) contain the
compiled version of required DSLs:
- ATL, and ACG for org.eclipse.m2m.atl.dsls
- TCS, KM3, and others for org.eclipse.gmt.tcs.dsls

This is also part of the improvements we are working on. When this
separation of DSL binaries is done, each element should appear only
once. This will make updates simpler.


Regards,

Frédéric Jouault


Guillaume Savaton wrote:
> Hi,
>
> I am trying to reinstall ATL, TCS, etc from the available CVS sources.
>
> I am experiencing some problems when trying to rebuild a (previously
> working) TCS language project using AMMACore and AMMAScripts.
> The build process fails when injecting the generated megamodel file (.mgm)
>
> Here is the error message :
>
> java.lang.NoSuchMethodError:
> org.eclipse.gmt.tcs.injector.TCSInjector.createEnumLiteral(L java/lang/String;)Ljava/lang/Object;
>
> at
> org.eclipse.gmt.tcs.injector.AM3_ANTLR3Parser.locationType(A M3_ANTLR3Parser.java:635)
>
> etc.
>
> After exploring the differences between my previous setup and the new
> plugin sources from the CVS repository, I have seen that changes have
> occurred in TCSInjector.java : method createEnumLiteral() now returns an
> Object instead of an ASMEnumLiteral.
>
> I guess that my problem comes from the fact that the plugin
> org.eclipse.m2m.atl.engine provides the previous version of class
> TCSInjector (in lib/org.eclipse.gmt.tcs.injector_1.0.0.jar) while the
> AM3 parser uses the new version.
>
> So, if my guess is correct, this message is a reminder that new JAR
> files should be commited in org.eclipse.m2m.atl.engine/lib.
>
> Thanks, and best regards,
>
> Guillaume
>
Re: [TCS] Last version of TCS injector from CVS [message #613165 is a reply to message #381227] Thu, 14 February 2008 13:22 Go to previous message
Guillaume Savaton is currently offline Guillaume SavatonFriend
Messages: 19
Registered: July 2009
Junior Member
This solution fixed my problem :

> - Use the new version by checking out the following elements:
> - get new plugin org.eclipse.m2m.atl.dsls from HEAD
> - get plugin org.eclipse.m2m.atl.engine from branch DSL_binaries_separation

But I understand that this is just a temporary solution.

I will try the next official stable release as soon as it is available,
instead of relying on CVS builds.

Thanks for your help,

Guillaume
Previous Topic:[TCS] Last version of TCS injector from CVS
Next Topic:MOFScript Ecore2Java Transformation
Goto Forum:
  


Current Time: Thu Dec 18 11:34:38 GMT 2014

Powered by FUDForum. Page generated in 0.03335 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software