tags:

views:

461

answers:

1

I have the following problem. I have a product build that includes several features. I have a main, product feature and I want to add some of the embedded features from eclipse, basically the features

org.eclipse.rcp org.eclipse.jdt org.eclipse.platform

There is two places where I can add these features: I can add them to the product definition itself, or I can add them as included features in my product defining feature.

My question is, what is the best way? I have problems when using the included features option, so I wonder if the other option makes more sense.

+2  A: 

Ultimately there is not a significant difference between the two methods. A build-time feature is going to be generated that includes everything listed in the .product file. So you are really talking about making these features siblings or children of your own product feature.

The biggest difference will be that the generated feature will always include the .product file entries, but if you add them as children of your feature you have the option to require them instead.

In p2, the difference between feature include and require is the version range generated for the dependency. PDE/Build itself doesn't follow requires, you would want to make sure you re-use p2 metadata for these features since it won't get regenerated by build.

There is a larger difference when you talk about plug-ins instead of features. In the case of plug-ins, PDE/Build will be guessing values for unpack and os/ws/arch for fragments. Including the plug-ins in a feature allows explicit control over these.

Andrew Niefer
Thanks for the explanation. So far I have found PDE build very useful, but somewhat arcane...
Mario Ortegón