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

Hi Andrey,

thanks for the description.

Looks like API Tools errors are our new "You forgot to increase the
version". As such manual processes are errorprone, we added a
automatically check via Gerrit for the version increase and have seen
much less issues with that since.. Thanks to Mickael IIRC.

I suggest we also run the API Tools check in the Gerrit verification
build. In my native understanding of the API Tools tool chain I assume
this should be easy by simply adding a Ant runner step after the
normal Maven build. Lets discuss iin
https://bugs.eclipse.org/bugs/show_bug.cgi?id=474156

Best regards, Lars


On Wed, May 8, 2019 at 9:20 PM Andrey Loskutov <loskutov@xxxxxx> 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



--
Eclipse Platform project co-lead
CEO vogella GmbH

Haindaalwisch 17a, 22395 Hamburg
Amtsgericht Hamburg: HRB 127058
Geschäftsführer: Lars Vogel, Jennifer Nerlich de Vogel
USt-IdNr.: DE284122352
Fax (040) 5247 6322, Email: lars.vogel@xxxxxxxxxxx, Web: http://www.vogella.com


Back to the top