That is THE question ??? And it seems quite difficult to have a clear answer. Let’s recapitulate the information I gathered on this topic mainly related to build issues. Please feel free to comment on this post in order to complete or to correct what I am saying:
Plugin Products:
- No problem when building (Gui or headless) => all the required (the same than the required plugins computed in the launch configuration dialog when debugging the app) plugins are present
- The RCP application disk footprint is optimized !! No useless plugins
- No features are exported: as a result the features list tab of about dialog is empty !!!
- It seems that plugin products are not recommended for RCP with self update (I didnd’t tested that yet) ???
Feature Products:
- When exporting (headless), the only present plugins and features are the one listed in the .product file
- Need to create a “dependencies” features including all the required plugins OR depend on all the features containing the required plugins => bring a lot of useless plugins
- Features listed in the about dialog
In my case, I decided to use a Feature Product and then to “manually” create a feature including all the 90 plugins required by my RCP.
Because I am lazy and hate repetitive tasks, I wrote a simple Java main parsing a launch configuration file (.launch located in the workspace metadata folder) and generating from a template the feature with all the required dependencies. Is there any other existing way to do that ??
Hope this can help others, and if you need my simple Java feature dependency creator, just ask it.
Manu
You can create a launch which is feature based. This is new in the Eclipse Helios release.
This way you only have to maintain the plug-ins on the feature side.
As described here:
http://eclipsesource.com/blogs/2010/06/11/feature-based-configurations-top-eclipse-helios-feature-9/
Hi,
Here we use plugin-based product since we don’t want to add useless bundles to our product.
We did not find an easy way to do so with feature-based product. Indeed, the “Add Required Plug-ins” (http://yfrog.com/17capture10wp ) button we can find when editing a plugin-based product is very helpful, and does not exist with feature-based. I’d bet you use the same button when editing your launch configuration that you use to create the dependency feature.
I’d prefer using a feature-based product with 2 features:
* My features (containing org.bonitasoft.* bundles)
* dependency feature (containing all 3rd party deps)
But this is quite difficult to set up.
If you have any advice to set up this product as easily as clicking on the “Add required Plug-ins” button, you’d make me an happy man
Hi Mickael,
Good to know that you have the same problem than us ;o) !!!!
As I said in my post the solution I have is to first manually click on the “Add required Plug-ins” button in order to have a launch configuration with all required plugins. Then I have a simple java main parsing this file in order to generate my dependencies feature. Have you already open an bug entry somewhere about that ?
I just opened a bug as you suggested: http://bugs.eclipse.org/319085.
Hope it will meet some interest!
Hi Manuel,
You can initialize a feature with an existing launch configuration so that you can use the “Add required Plug-ins” button from the “Run configurations” dialog.
This way you only have to maintain the plug-in dependencies on the launch configuration site.
Thanks for the tip Matthias. I was not aware about this feature. Do you know if there is any way to “call” this feature from ANT or Java code in order to include this step in an headless build ?
Manu
Sorry, don’t know. But I guess it wouldn’t be easy to realize because the feature is part of the “Feature Project” creation wizard.
Matthias
Thanks for your information.
I posted a question regarding creating a distro on the Eclipse forum with reference to your approach.
http://www.eclipse.org/forums/index.php?t=msg&th=173497&start=0&S=825ca7822033f3200163f3116594988d
Do you know how official eclipse packages were built? Do you think we can use the same technique to build our product?
Thanks.
[...] This method is inspired from blog posts written by Manuel Selva. [...]
[...] the context of an RCP application and following this previous post, I am building my app using Features including the org.eclipse.rcp one. I recently decided to add [...]
I am very interesting in your simple Java feature dependency creator, I think it will help me a lot to create the dependencies feature. can you share to me
Unfortunately I changed of job and don’t have access anymore to this. It was a simple java main parsing the xml launch configuration file using a standard Java Sax parser.
Sorry,
Manu