Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-dev] API changes in SDK

Andrey,

Perhaps folks should rather consider consistently using the same automated setup so that everyone consistently see the same thing as everyone else.  That's the purpose of the Oomph setup: to avoid all the manual steps you describe here.

Regards,
Ed


On 08.05.2019 21:20, Andrey Loskutov wrote:
Hi all,

If you do *not* contribute or review contributions for Eclipse platform
SDK, stop reading this mail NOW!

I wanted to remind you about some simple rules for Eclipse SDK
development, which are mandatory for all committers.

If the commit you want to merge contains an API change, *before* merge
you should *always* load the patch into your IDE and run a clean build
on related project.

Before doing so you should also make sure API tooling is properly
configured, you use right API baseline and preferences are properly set:

Preferences -> Plug in Development -> [x] Workspace Plug-Ins override
target platform plugins...
Preferences -> Plug in Development -> [ ] Disable API builder (must be
unset!)
Preferences -> Plug in Development -> Target Platform is set to "Running
Platform" and you are using a recent nightly SDK build.
Preferences -> Plug in Development -> API Baselines -> [x]
_latest_release_ (must be created manually and point to plain SDK
installation of the last official SDK release).

If after that you see API errors in the workspace, please consider to
read the proposed solution, compare that with the information you can
get at [1], [2] and [3] and apply appropriated fix (or "-1" on the
Gerrit patch).

There can be multiple possible API error fixes proposed by PDE, but only
one can be the right one - unfortunately we still require the power of
human brain to apply the *right* fix.

Please also note: human and computer make mistakes. Nobody is perfect,
API tooling too. In doubt, ask on the list, but do not start *decrement*
bundle versions or blindly increment them (because this always fixes the
error, however may introduce a bigger one).

Basic rule is: during a development cycle (e.g. 4.12) we only increment
one version segment *one time* according to the rules [1], [2] and [3].
Only in case of human errors we have to bump the same version segment
twice (once the wrong version is built and *published* we can't simply
revert it so we must increase again...). We never decrement versions if
they were already published via official SDK build.

Decision about *which* bundle version segment to change should be always
based on [1], [2] and [3], not just on PDE "quick fix" proposals. In
doubt - ask on the list.

Sure this is all complicated, sure this makes our life not easier and
sure this could be improved and fully automated. But as long as we don't
have an absolutely perfect, fully automated process we *must* follow the
rules above.

There are also few places where you can help:
- Setup and use API tooling in your SDK workspace. Do it NOW!
- Improve API tooling by contributing to PDE. There are known bugs and
there are known performance issues, but if nobody helps, they will stay
forever.
- Contribute more maven checks that do *more* API checks during Gerrit
build.

[1] https://wiki.eclipse.org/Version_Numbering
[2] https://wiki.eclipse.org/Evolving_Java-based_APIs
[3] https://wiki.eclipse.org/Evolving_Java-based_APIs_2

Regards,
Andrey

--
Kind regards,
Andrey Loskutov

https://www.eclipse.org/user/aloskutov
---------------------------------------------
Спасение утопающих - дело рук самих утопающих
---------------------------------------------
_______________________________________________
platform-dev mailing list
platform-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev


Back to the top