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 |
Stefan Prisca 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 |
|
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 #1690775 is a reply to message #1690441] |
Tue, 31 March 2015 08:19 |
Ed Willink Messages: 7670 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
|
|
|
Goto Forum:
Current Time: Mon Sep 23 21:03:21 GMT 2024
Powered by FUDForum. Page generated in 0.03014 seconds
|