Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Eierlegende Wollmilchsau

Hi Ed,

I think this is a great experiment. For reference I added a screenshot of how the "eierlegende Wollmilchsau"
looks like on a mac:

And the find dialog is so wide, that it does not fit on my screen (note some tabs are cut off at the right side):

Running an empty instance takes about 15-20% cpu, but id did not cause the initial
resource consumption you have seen...

The eclipse capability explorer

For years I wonder how much effort it would be to create a meta plugin
that reads all the UI extension points and creates a representation of
what different features add to the UI.

I mean: often I install a feature and I have no idea what it actually
contributes to the UI. So, imagine there would be a tool that allows
you to explore all the extensions a specific feature adds to the IDE. Imagine
you could just select a feature and see what it contributes. It could
be some tree ore a rich text representation. Or (the luxury version),
it could highlight the additions in the UI directly.

Of if I could click (with some magic modifier keys) on some UI component
and it would tell me which feature contributed that element.

What I am talking about is a tool to explore the UI and to understand
how things are wired together and who contributes what.

If we spin this idea further: what if I could just interactively add/remove
extensions to the UI? If we would have a tool that allows the user to
experiment with all 'Capabilities' (not only the ones provided by some
extensions) (Note: capabilities are set in the org.eclipse.ui.activities extension
point using activityPatternBinding):

Wouldn't an 'eclipse capability explorer' be a great meta tool?


On 2015-12-09 7:54, Ed Merks wrote:

We've created an all-in-one Eclipse product affectionately called Eclipse Eierlegende Wollmilchsau. For the linguistically challenged, it's the Eclipse Egg-laying Wool-milk-pig.   Like the ultimate all-in-one farm animal, this Eclipse product can do everything because it installs everything on the release train.  Unfortunately, it's not pretty.   I've opened to track this issue.  It's probably best that follow up discussions take place on this Bugzilla.

To give it a try, use the Eclipse Installer, switch to advanced mode, and locate this product in the Applications product catalog; typing "wol" in the filter will locate it quickly.   Probably you'll want to pick the Mars version so that your bundle pool fills with useful things you might want to install some other time.  We generate this product such that it installs all the categories on the release train, except the the RT category.

Some immediate observations.  The toolbar has a lot of buttons, some of them very large compared to the others.   Unless you're blessed with a very wide monitor, they won't all fit on one line.   Do we really need all these buttons in all perspectives?

Open the Error log when the installation first starts.  Clearly there are some ill behaved plugins.  ECF contributes some things that don't work well.  BPMN2 and Papyrus don't play well together. Nor do Eclipse FX and Papyrus.  There's a battle for key bindings. Scout feels the need to inform the user of fact that it's started.

Open the Progress view and note that there will be jobs that never will finish.  What are these jobs trying to do?

One reason we created this product is so we can test what's going on with all the preferences.  There are certainly a great many of them.  In fact, if you try to visit them all, you'll run out of SWT handles, so don't do that.  With the latest version of Oomph, the preferences dialog includes an alert (little light bulb) down in the bottom left of the preferences dialog that allows you to initialize all preferences to their defaults; it will show only if you enable the preference recorder (via the button to the right of the help button).   A great many preference pages change preferences just by virtue of visiting the page and hitting OK.   With the preference recorder, this results in many preferences being recorded that you've never actually changed to be different from the default. Using the alert button, Oomph automatically visits all pages without recording any changes.  It must periodically dismiss the preference dialog to ensure it doesn't run out of SWT handles.   You might want to give that a try; please read the Help documentation of the "Preference Initialization" dialog.

Some things to note afterward.   How many preferences cause UI freeze report? Now that all bundles have been started, the jobs on the Progress view go crazy and they never ever finish.  My computer fan comes on.  It's not pleasant.  Restarting the IDE helps put a stop to this.   I believe it's the Linux tools doing this.  Does it make sense to have Linux tools on my Windows machine?  Probably not, but why is it an option if it makes no sense? I.e., can't the category requirements include filters to eliminate these choices? There are also several linux tools in the General Purpose Tools category, e.g.,  docker, changelog, and rpm.  Are these really general purpose or Linux specific?  Certainly RPM does not play nicely on my Windows box; jobs that apparently never finish, but work very hard doing goodness knows what...

In the Error log you'll see many new errors.   Papyrus is a big offender.   Please someone on the Papyrus team, review what is going on with all your preference pages!  They just don't work at all. Also note that Oomph logs warnings for all pages that come up in an invalid state initially.  Once the user navigates to this preference page, they can't leave.  No page should be initially invalid.  Thym and Linux tools are offenders in this case.  LDT, Data Tools, and BIRT should all have a look at this log because visiting their preferences result in errors.

Also have a look at Help ->  About Eclipse Platform -> Installation details and turn to the Plug-ins tab.  Type "examples" in the filter.   There are a great many of them!  Does it make sense for people to install examples in their IDE?   Aren't examples meant to be something I can easily add to my workspace (File -> New -> Example..) so I can see the source and play with it?   Why are examples available for installation on the release train?

The following example features are categorized as available for installation.  I believe none of them should be.


In other cases, the project SDK includes a dependency on the examples feature.  I found EMF examples on the train, but I don't believe that EMF itself contributes them, so someone is generously doing that on our behalf.

If you love Eclipse, please give the Eclipse Eierlegende Wollmilchsau some of your love.  Or just ignore it, and accept the fact that Eclipse as a whole is an ugly pig.

cross-project-issues-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Back to the top