Do you remember the discussions around A.PDE.Target.Platform.? It's a very old discussion and the current solution is just a hack. A very clever hack I have to admit! ;-)
Anyway, I'd like to bring this up on this list again in the hope that we can find a better way to solve this, a real solution. Or maybe something changed in the meantime and I haven't found it yet - in that case just point me into the right direction.
We want to prevent users from (accidentally)
installing IUs that are meant to go into a target platform into their
IDEs (see ). If we take the RAP project as an example, it provides
alternative implementations of org.eclipse.swt and cannot be installed
together with the standard swt bundles.
The recommended workaround is to use a p2.inf file
to add an additional dependency that cannot be met by the IDE (the
dependency to 'A.PDE.Target.Platform.') If an end user tries to install
such an IU into his IDE, he will see a p2 failure and a cryptic message
that he cannot install this IU. If a developer wants to create a target
platform with p2, he manually needs to deselect the 'Include required
software' checkbox in the 'Add Software Site' wizard. All this is not
very intuitive and leads to a lot of confusion.
I'd like to bring this up again and hope that we can find a real solution, maybe in the Juno time frame, maybe for Kepler.
Some suggested to define another windowing system for RAP  but this has its own drawbacks (and would solve only parts of this problem).
The best solution seems to me a negative p2 requirement (see ), but these are not supported in p2.inf files.