Hi there.
I'm having a problem when installing source features that includes platform specific fragments. I create a p2-site using the site.p2 action and then install my product using the p2-director. But when I install for win32/win32/x86 I get this error.
Installing my.product 1.0.0.v20130809-1218.
Installing my.product.source.feature.feature.group 1.0.0.v20130809-1218.
Installation failed.
Cannot complete the install because one or more required items could not be found.
Software being installed: Source for My product feature 1.0.0.v20130809-1218 (my.product.source.feature.feature.group 1.0.0.v20130809-1218)
Missing requirement: Source for My product feature 1.0.0.v20130809-1218 (my.product.source.feature.feature.group 1.0.0.v20130809-1218) requires 'org.eclipse.ui.cocoa.source [1.1.1.v20120523-1956]' but it could not be found
The plugin org.eclipse.ui.cocoa.source is indeed in the repository, but the platform filter does not match, so I suspect that is why I get the error. The platform filter is described in the bundle, but not in the source feature. Is this a bug, or is there some magic setting that fixes this?
A little more info
My setup looks something like this:
my.product.feature
- Includes org.eclipse.rcp
- Includes org.eclipse.ui.cocoa (with platform filter)
...
...
The generated source feature, looks something like this:
my.product.source.feature
- Includes org.eclipse.ui.cocoa.source (without platform filter)
...
Note that the generated source feature, includes the plugin directly, but for some reason does not include org.eclipse.rcp.feature.
Snippets from context.xml (There is no unit for "org.eclipse.rcp.source.feature.group")
<unit id='org.eclipse.ui.cocoa' version='1.1.1.v20120523-1956'>
....
<filter>
(osgi.ws=cocoa)
</filter>
...
</unit>
...
<unit id='org.eclipse.ui.cocoa.source' version='1.1.1.v20120523-1956' singleton='false'>
...
<filter>
(osgi.ws=cocoa)
</filter>
...
</unit>
...
<unit id='org.eclipse.rcp.feature.group' version='3.8.1.v20120814-105048-92BmGJlFw3Ez0WZ9TxCqgcSVAE' singleton='false'>
...
<requires size='65'>
...
<required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.cocoa' range='[1.1.1.v20120523-1956,1.1.1.v20120523-1956]'>
<filter>
(&(osgi.os=macosx)(osgi.ws=cocoa))
</filter>
</required>
...
</requires>
...
</unit>
...
<unit id='my.product.source.feature.feature.group' version='1.0.0.v20130809-1218' singleton='false'>
...
<requires size='236'>
<required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.cocoa.source' range='[1.1.1.v20120523-1956,1.1.1.v20120523-1956]'/>
</requires>
...
</unit>