Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Future versions backward compatibility(Are future versions guaranteed to be backward compatible?)
Future versions backward compatibility [message #1690441] Fri, 27 March 2015 10:31 Go to next message
Stefan Prisca is currently offline Stefan PriscaFriend
Messages: 11
Registered: July 2013
Junior Member
Hi,

I was wondering if future versions of XText (e.g. 2.9.0, 3.0.0 ...) will be backward compatible with older versions (like 2.6.0).

The problem is that we have a DSL developed with Xtext 2.6.0, and as versions increase, the version ranges of the Xtext dependencies from the MANIFEST file need to be changed.
For example : org.eclipse.xtext.xbase;bundle-version=["2.6.0", "3.0.0")
I just want to make sure that the upper bound will be compatible with v 2.6.0.

Also, besides this, is there a way to have two versions of XText installed and running at the same time?
For example the user would have version 2.8.0 installed, and our project would install and use version 2.6.0 without any conflicts.
At the moment, when we do this, we get the following error (full bug report at [1]):

Only one of the following can be installed at once:
Xbase UI 2.8.1.v201503230617 (org.eclipse.xtext.xbase.ui 2.8.1.v201503230617)
Xbase UI 2.7.2.v201409160908 (org.eclipse.xtext.xbase.ui 2.7.2.v201409160908)

Thank you for the support!

Best Regards,
Stefan.

[1]: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463012
Re: Future versions backward compatibility [message #1690448 is a reply to message #1690441] Fri, 27 March 2015 11:12 Go to previous messageGo to next message
Karsten Thoms is currently offline Karsten ThomsFriend
Messages: 762
Registered: July 2009
Location: Dortmund, Germany
Senior Member

Hi Stefan,

there cannot be promises that full backward compatibility is assured, but the Xtext team does pay high attention to on it. The general answer is: Yes. But in detail you might have do do something when upgrading. Especially with Xbase you have to take into account that Xbase API was still provisional in Xtext 2.6. Compatibility is only assured on public API. With 2.7 some parts of Xbase are now public API.

The upper bound is fine. You excluded 3.0.0, this means that your code will be compatible with 2.x versions, but won't accept 3.0. Eclipse disallows breaking API changes in minor releases, so you are safe for all public API you are using. There are AFAIK no concrete plans for a breaking API change and thus major release yet.

Regarding installation of two versions: The message says it all. In Eclipse, UI plugins need to be singletons. Thus it is not possible to have more than one version of singleton bundles in the installation. This means, you need to make sure that the language with the lower version accepts also a 2.8 version. Again, issues might be in usage of provisional API which forces a real upgrade before it can be run on 2.8.

Kind regards,
~Karsten


Need professional support for Xtext, EMF, Eclipse IDE?
Go to: http://devhub.karakun.com
Twitter : @kthoms
Blog : www.karsten-thoms.de
Re: Future versions backward compatibility [message #1690770 is a reply to message #1690448] Tue, 31 March 2015 07:34 Go to previous messageGo to next message
Stefan Prisca is currently offline Stefan PriscaFriend
Messages: 11
Registered: July 2013
Junior Member
Hi Karsten,

Thanks for the quick response.
Sorry that I only write back now, but I forgot to subscribe to the topic and did not receive any mail notifications.

Quote:
The upper bound is fine. You excluded 3.0.0, this means that your code will be compatible with 2.x versions, but won't accept 3.0. Eclipse disallows breaking API changes in minor releases, so you are safe for all public API you are using. There are AFAIK no concrete plans for a breaking API change and thus major release yet.


This is reassuring, thanks!

Best Regards,
Stefan.
Re: Future versions backward compatibility [message #1690775 is a reply to message #1690441] Tue, 31 March 2015 08:19 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

Nearly. The Xtext team have tried quite hard to preserve compatibility,
but extreme compatibility is very difficult and a significant impediment
to reasonable progress. Very minor APIs have changed from version to
version.

However if you are worried about multi-version compatibility you should
look at

https://bugs.eclipse.org/bugs/show_bug.cgi?id=460978

and perhaps adopt the Eclipse OCL GrammarResource tooling to avoid the
*.xtextbin hazard and get slightly improved editor startup.

Regards

Ed Willink


On 27/03/2015 10:31, Stefan Prisca wrote:
> Hi,
>
> I was wondering if future versions of XText (e.g. 2.9.0, 3.0.0 ...)
> will be backward compatible with older versions (like 2.6.0).
>
> The problem is that we have a DSL developed with Xtext 2.6.0, and as
> versions increase, the version ranges of the Xtext dependencies from
> the MANIFEST file need to be changed. For example :
> org.eclipse.xtext.xbase;bundle-version=["2.6.0", "3.0.0")
> I just want to make sure that the upper bound will be compatible with
> v 2.6.0.
> Also, besides this, is there a way to have two versions of XText
> installed and running at the same time? For example the user would
> have version 2.8.0 installed, and our project would install and use
> version 2.6.0 without any conflicts.
> At the moment, when we do this, we get the following error (full bug
> report at [1]):
>
> Only one of the following can be installed at once: Xbase UI
> 2.8.1.v201503230617 (org.eclipse.xtext.xbase.ui 2.8.1.v201503230617)
> Xbase UI 2.7.2.v201409160908 (org.eclipse.xtext.xbase.ui
> 2.7.2.v201409160908)
>
> Thank you for the support!
>
> Best Regards,
> Stefan.
>
> [1]: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463012
Previous Topic:Cross-references in a parser used in a standalone application
Next Topic:Delete me
Goto Forum:
  


Current Time: Fri Apr 19 22:52:15 GMT 2024

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

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

Back to the top