Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » Bundle Pooling vs Shared Configuration(Bundle Pooling vs Shared Configuration)
icon5.gif  Bundle Pooling vs Shared Configuration [message #1710403] Tue, 06 October 2015 12:49 Go to next message
packydevel packydevel is currently offline packydevel packydevelFriend
Messages: 3
Registered: October 2015
Junior Member
Hi guys,

i cannot consider myself an eclipse platform expert but i read many, many times the same paragraph of Eclipse Help about Multi-User Installation and in these days that i have discovered the Eclipse Installer by Oomph, i feel a little confused about the two concepts: shared configuration and bundle pooling.

I know that the Eclipse Installer has the ability to customize eclipse installations but in this topic i would concentrate about the main feature that is the ability to create an eclipse installation using bundle pooling.

It's clear that bundle pooling offers the possibility to share plugins among different eclipse installation avoid redownloading plugins ecc... but is not this the same that i can achieve using Shared Configuration?

Until today i used configure Eclipse making installation folder read-only (as root on linux) and installing there all the plugins that i thought maybe useful to all configurations (git, svn, cvs, terminal, eclipse color theme etc...). In addition i launched eclipse with -configuration option that give me the ability to use all plugins that i have in my shared configuration/shared installation and i have also the ability to install other plugins locally in the configuration-area.
In the end if i needed to develop in python and java i would have had 2 configurations with pydev plugin in the first one and jdt in the second one.

Why the Eclipse Installer with bundle pooling is better than shared configuration?

Why should i change my workflow?

Pascal in this post, https://www.eclipse.org/forums/index.php/m/901915/?srch=bundle+pool says that the bundle pooling and shared configuration can be mixed but i did'n understand how and what kind of advantages i woud have?

Thank you very much, in advance ...
Re: Bundle Pooling vs Shared Configuration [message #1710436 is a reply to message #1710403] Tue, 06 October 2015 15:31 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 06.10.2015 um 17:02 schrieb packydevel packydevel:
> Hi guys,
>
> i cannot consider myself an eclipse platform expert but i read many, many times the same paragraph of Eclipse Help
> about Multi-User Installation and in these days that i have discovered the Eclipse Installer by Oomph, i feel a little
> confused about the two concepts: shared configuration and bundle pooling.
>
> I know that the Eclipse Installer has the ability to customize eclipse installations but in this topic i would
> concentrate about the main feature that is the ability to create an eclipse installation using bundle pooling.
>
> It's clear that bundle pooling offers the possibility to share plugins among different eclipse installation avoid
> redownloading plugins ecc... but is not this the same that i can achieve using Shared Configuration?
No, it's quite different. I'm not a total expert with shared configurations, but I think the main difference is that a
"shared installation/configuration" shares *state* between different users of (almost) the same installation and a
"shared bundle pool" shares *code* across totally different installations.

A shared installation (together with an associated user configuration location) creates kind of a parent/child relation
ship. A shared bundle pool just moves the big features/ and plugins/ folders out of the installation to make their
contents reusable. The p2 profile of an installation then just picks IUs out of that pool to provide the actual code to
run that installation.

>
> Until today i used configure Eclipse making installation folder read-only (as root on linux) and installing there all
> the plugins that i thought maybe useful to all configurations (git, svn, cvs, terminal, eclipse color theme etc...).
> In addition i launched eclipse with -configuration option that give me the ability to use all plugins that i have in
> my shared configuration/shared installation and i have also the ability to install other plugins locally in the
> configuration-area.
> In the end if i needed to develop in python and java i would have had 2 configurations with pydev plugin in the first
> one and jdt in the second one.
>
> Why the Eclipse Installer with bundle pooling is better than shared configuration?
I can't say whether it's always better or not. Eclipse supports both mechansims to support a range of use cases. The
Eclipse Installer (optionally) supports shared bundle pools because that's the mechsnism that seems adequate for single
users with potentially more than one installation.

>
> Why should i change my workflow?
Nobody says "you should". If you understand the two different mechansims (see above) it's up to you to decide which one
better suits your needs.

>
> Pascal in this post, https://www.eclipse.org/forums/index.php/m/901915/?srch=bundle+pool says that the bundle pooling
> and shared configuration can be mixed but i did'n understand how and what kind of advantages i woud have?
It is possible in general but the Eclipse Installer does currently not support the creation of shared installations. The
latter may be incorrect because I have not much experience with shared installs. Maybe it is possible by making the
install folder read-only or some other manual post-install steps.

>
> Thank you very much, in advance ...
I hope it helped ;-)

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: Bundle Pooling vs Shared Configuration [message #1710516 is a reply to message #1710436] Wed, 07 October 2015 09:38 Go to previous messageGo to next message
packydevel packydevel is currently offline packydevel packydevelFriend
Messages: 3
Registered: October 2015
Junior Member
Hi Eike, thank you for you reply.

About your consideration:

Quote:

No, it's quite different. I'm not a total expert with shared configurations, but I think the main difference is that a
"shared installation/configuration" shares *state* between different users of (almost) the same installation and a
"shared bundle pool" shares *code* across totally different installations.


Really, i'm not sure what you intend about *state* but you consider that i've showed a simple scenario where the local configuration-areas are language based. In other words i have figured out a typical scenario in which i'm almost the only one user of my pc so i created only 2 configuration-areas based on the languages that i use but in case my pc was used by many users, nothing can block users to create private configuration areas one per user or more than one per user. In that scenario there is no *state* sharing between users.

Quote:

A shared installation (together with an associated user configuration location) creates kind of a parent/child relation
ship. A shared bundle pool just moves the big features/ and plugins/ folders out of the installation to make their
contents reusable. The p2 profile of an installation then just picks IUs out of that pool to provide the actual code to
run that installation.


Yes, you're right there, what you described is the relationship between shared and local configuration area but the reusability of plugins in bundle pooling is guaranteed also in sharing configuration because the common plugins are in the p2 repository of that shared configuration that is joined with the one in the local configuration.

Quote:

Nobody says "you should". If you understand the two different mechansims (see above) it's up to you to decide which one
better suits your needs.


Yes, you're right, i'm not forced to change but at the same time i don't understand why equinox introduced this feature when there is, since many years, the sharing configuration solution. I'd like to know if this is a deprecated solution or if it has some drawbacks that i'm not able to find out.

Really i don't understand because i should have many different eclipse installations with the only scope to have different profiles who give the ability to keep trace and load only the plugins that i want in that installation. If i had only one installation i could have the plugin i want simply using the '-configuration' switch when launching eclipse. In that way i implicitly create my own private p2 repository with plugins that i need in that configuration and that i never would share with other configurations and if i discovered that some plugins need to be shared i would move it to shared configuration.

In other terms, in one case i have to produce a different installation and when launching eclipse in that installation i have to install the plugins i want doesn't matter if they are already downloaded or not; it's up to p2 take care of that problem. Remains the fact that i have to install in each eclipse installation all the plugins i need even those that i need to have in every installations for example git, svn, checkstyle etc...
In the other case having the shared plugins in the p2 repository in the shared configuration area i simply launch eclipse with '-configuration' switch and i have to install only the plugins that i don't have; all the others are already loaded by having the shared configuration.

Thank you ...
Re: Bundle Pooling vs Shared Configuration [message #1710524 is a reply to message #1710516] Wed, 07 October 2015 09:55 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 07.10.2015 um 11:38 schrieb packydevel packydevel:
> Quote:
>> No, it's quite different. I'm not a total expert with shared configurations, but I think the main difference is that a
>> "shared installation/configuration" shares *state* between different users of (almost) the same installation and a
>> "shared bundle pool" shares *code* across totally different installations.
>
>
> Really, i'm not sure what you intend about *state* [...]

By "state" I tried to refer to the configuration *data*.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: Bundle Pooling vs Shared Configuration [message #1710886 is a reply to message #1710524] Sat, 10 October 2015 10:03 Go to previous message
Konstantin Komissarchik is currently offline Konstantin KomissarchikFriend
Messages: 1077
Registered: July 2009
Senior Member
Shared configuration allows you to have a shared base install that you can customize further with additional plugins.

A bundle pool allows you to have multiple installations with potentially very different composition that still share bundles where they intersect. For instance, you can have a Mars.1 and Neon M2 installations, both with EGit 4.1 and EGit bundles would be shared between the two.
Previous Topic:Using OSGI LogReaderService with SLF4J/Logback
Next Topic:Unexpected build results for rt.equinox.framework
Goto Forum:
  


Current Time: Fri Mar 29 12:52:33 GMT 2024

Powered by FUDForum. Page generated in 0.02937 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top