+1 for using Oomph setups.
If there wasn't an Oomph setup available for the Platform
projects, I would probably not even started working on the
platform project at all.
Having used Oomph in multiple projects, I can tell it makes
bootstrapping your environment something you do over your coffee
break. No need for long complex procedures, and consistency
between the setups of all developers.
Op 5/10/2019 om 11:26 AM schreef Ed
Merks:
Comments below.
On 10.05.2019 10:10, Vikas Chandra
wrote:
>>If only the correct baseline
were automatically set...
In a new workspace, for an API tooling enabled
plugin, we always have an "error" that tells the user that
there is no baseline.
Quickfix takes you to the page where baseline
is added. After that, the user should understand and set the
correct baseline.
Most of the the documentation is already there
is Andrey's 1st email's link ( setting correct baseline and
versioning).
With the Oomph setup, the baseline is always set up
automatically. There are Oomph setups for the entire darned
Eclipse SDK along with detailed documentation:
https://wiki.eclipse.org/Eclipse_Platform_SDK_Provisioning
So when I'm asked to help fix issues in the e4 workbench model
I use exactly this approach to set up an IDE to work on the
platform.ui repository, complete with the baseline set, and it
tells me properly about problems resulting from regenerating the
model. I didn't have to read any instructions first.
But everyone else seems completely enamored with their
individualized manual approach, no doubt keeping a
workspace/installation alive as long as possible because
creating a new one is so unpleasant.
>> And all the preferences too.
If you don't tinker with the preference, it
remains the most optimum one. There is an option of restore
default in preference
page. ( in case you have changed preference)
If you have some good suggestion or ideas to
improve and automate, please feel free to open a bug and
discuss.
Well, that's already done. But I'm told it
can't be used, even though I use it myself and it works for
me. If something doesn't work, I can fix that, but as I said,
it works for me.
As an example of how easy it could be, just
consider that these the only instructions one needs to set up
an EMF development environment:
https://ci.eclipse.org/emf/
Drag and drop and your done. All the necessary
tools are installed, the projects are imported, organized in
working sets, the right preferences are set for EMF
development. And I've tried to make it just as easy for all
the platform's projects. But in the end, I can only lead
a horse to water...
Regards,
Vikas
------------------------------------------------------------------------
Eclipse PDE lead,
IBM Rational
EGL D Block - Bangalore, India
Office Phone No : +91 - 80 - 41776506
------------------------------------------------------------------------
Ed Merks ---05/09/2019 11:20:10 PM---If only
the correct baseline were automatically set... And all the
preferences too. I wonder how
From: Ed
Merks <ed.merks@xxxxxxxxx>
To: platform-dev@xxxxxxxxxxx
Date: 05/09/2019
11:20 PM
Subject: Re:
[platform-dev] API changes in SDK
Sent by: platform-dev-bounces@xxxxxxxxxxx
If only the correct baseline were automatically set... And all
the preferences too. I wonder how we could possibly do that?
It seems pointless to me to record all these important
details in an email thread. Record them in a wiki, if you
feel these are important details that are best captured by
documentation. Or perhaps consider yet again that it might be
better to record these details in a script that is
automatically applied and is used by everyone so that no one
needs to read wikis and/or email threads with excruciating,
manual, monkey-work tasks. The assertion appears to be that
apparently automation doesn't work for inexplicable (and
certainly unexplained) reasons. But for goodness sake, we are
tool developers, surely we can use tools for all this! The
term Luddite comes to mind when I read a thread like this.
On 09.05.2019 18:43, Vikas Chandra wrote:
I agree with Andrey in principle !
In short, before submitting any
gerrit patch, just keep the default workspace settings
and run API tools analysis
( clean->build all) after setting the correct
baseline. Ensure that none of
the settings has been made more lenient
(error changed to warning or ignore in project setting) in
the project.
There is always a quickfix - API tool filter which allows
user to override the API tool error based on user's
judgement/scenario. Common sense overrides everything :)
Suggestions on what can be improved in
API evolution/versioning would be good to have. However,
if version guidelines is not followed, then it can cause
confusion to the end users.
If there is a suggestion for
changing the default settings that helps in overall API
evolution or any other
suggestion,
please file a bug. ( One such bug is already filed by Dani
! )
Regards,
Vikas
------------------------------------------------------------------------
Eclipse PDE lead,
IBM
EGL D Block - Bangalore, India
------------------------------------------------------------------------
Andrey Loskutov
---05/09/2019 12:50:25 AM---Hi all, If you do *not*
contribute or review contributions for Eclipse platform
From: Andrey Loskutov <loskutov@xxxxxx>
To: platform-dev@xxxxxxxxxxx
Date: 05/09/2019 12:50 AM
Subject: [platform-dev] API changes
in SDK
Sent by: platform-dev-bounces@xxxxxxxxxxx
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
_______________________________________________
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_______________________________________________
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
_______________________________________________
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
_______________________________________________
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
|