Skip to content

Java API breakage on .ecore change for EMF-related bundles: what is SimRel policy? #748

Answered by merks
ruspl-afed asked this question in Q&A
Discussion options

You must be logged in to vote

The API tools are ultra conservative. Add anything to an interface and it's a major version increment. The Platform makes a habit of being careful and suppressing such API errors, e.g., when adding a default method to an interface or a constant to SWT.

Of course constants are in-lined so changing that will not be seen by clients who aren't recompiled. The GenModel property `Binary compatible Reflective Methods" can help make derived models binary compatible even if the super class model changes. There is no general policy about this. In my opinion, it's better to simply be pragmatic and try to have as little impact on clients as possible. Major version increments generally cause problems …

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@ruspl-afed
Comment options

ruspl-afed Feb 20, 2025
Collaborator Author

@ruspl-afed
Comment options

ruspl-afed Feb 25, 2025
Collaborator Author

@HannesWell
Comment options

Answer selected by ruspl-afed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants