In Eclipse there are things that you launch (products) and things
you add on to products (extensions). In PDE these manifest themselves as
Product configuration files and Features respectively. They are related
but different.
-
Products are defined in relatively simple files,
features require you to have a whole project
-
Features can have licenses, root files, descriptions, …
Products are all around launching and branding
The differences are good as all of this information is
actually needed. The problem is that products are now installable.
In the old world (well today) “products” are not
installable by Eclipse infrastructure. They are built and then packaged
as zip files and unzip’d by users and lauched. In the new world
(i.e. with p2) everything is installable. At least initially installable
things are described using features. Under the build covers there is
actually a feature generated in the process of building a product but
this is thrown away. Net result is that people wanting to create
deployable products have to create both a product and a feature. That is
not so bad (may even be great) but the workflows around this are less than
optimal.
-
The whole file vs. project thing. Users can
create a feature project and put the product file in it but one of the nice
things about products is that you could have many in one project.
-
There is some level of duplication/disconnect in ids,
feature lists,
-
The configuration tab in a product would always just
list the product feature (in this scenario)
In short, the end users need to think a bit too hard to
create a deployable product.
I’m not really expecting/suggesting that we do
something in the 3.4 timeframe. There might be some tweaks and as we go
about enhancing the product support around p2, it might be good to keep this
stuff in mind.
Jeff