Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 335179

Summary: org.eclipse.xtext.ui 1.0.1 violates Eclipse API-policy
Product: [Modeling] TMF Reporter: Alexander Nyßen <nyssen>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: sven.efftinge
Version: 1.0.1   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2011-01-24 07:27:36 EST
XtextDocument#disposeInput() has been introduced in version 1.0.1. This is not in line with the conventions of the Eclipse API policy, according to which the minor version of the enclosing project should have been increased (i.e. 1.1.0 to indicate the API change (see http://wiki.eclipse.org/Version_Numbering#When_to_change_the_service_segment). 

While this may probably not be reverted anymore, I would propose to make use of PDE's API tooling to prevent such violations in the future.
Comment 1 Sven Efftinge CLA 2011-01-24 07:49:46 EST
Xtext has a slightly different API strategy, because (so far) in Xtext everything is accessible which makes it
very flexible but at the same time hard to change anything without changing (not breaking!) API.
So we just distinguish between API breaking and non-breaking changes. 
We only introduced breaking changes between major versions and increment the minor and the service segment as it seems fit.

What's the problem with the mentioned change?
Comment 2 Alexander Nyßen CLA 2011-01-24 07:56:55 EST
Well, if somebody develops against Xtext 1.0.1, he can create client code that does not work with 1.0.0 (in case of a newly introduced method, this will lead to a compilation problem). Eclipse's general API policy prevents this.
Comment 3 Sven Efftinge CLA 2011-01-24 08:14:50 EST
So you don't have an actual problem but just wanted to point us to the guidelines, right?
We knew them already and know that we don't fully implement them (they are guidelines, i.e. not mandatory).

We discussed whether we want to use PDE's API tooling two years ago and decided to not do so, due to the different API philosophy we have in Xtext. The mentioned change wasn't made by accident, so PDE wouldn't have helped us in this particular case.
Comment 4 Alexander Nyßen CLA 2011-01-24 08:22:49 EST
(In reply to comment #3)
> So you don't have an actual problem but just wanted to point us to the
> guidelines, right?
> We knew them already and know that we don't fully implement them (they are
> guidelines, i.e. not mandatory).

Correct. I ran into the reported compilation problem, but it's nothing I cannot live with, because I can update my target platform to 1.0.1. 

> 
> We discussed whether we want to use PDE's API tooling two years ago and decided
> to not do so, due to the different API philosophy we have in Xtext. The
> mentioned change wasn't made by accident, so PDE wouldn't have helped us in
> this particular case.

Why not stick to the API conventions concerning the versioning but rather allow to deliver API changes with the service release dates (if you don't want to postpone API changes to the next full year release cycle)? I would have preferred an Xtext 1.1.0 at the SR1 release date rather than an incompatible 1.0.1.
Comment 5 Sven Efftinge CLA 2011-01-24 08:46:48 EST
So you mean never update the service level but always update the minor number? 
I think we increase the 'service' number for the 'service' releases because everybody else does so and the name suggests it (it might be written down somewhere).   

But you are right we should increase the minor number in future.
Comment 6 Karsten Thoms CLA 2017-09-19 17:36:26 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 7 Karsten Thoms CLA 2017-09-19 17:47:23 EDT
Closing all bugs that were set to RESOLVED before Neon.0