RequiredCapability does not impact the
resolution algorithm per-se. It just captures the dependencies an
IU has onto other things.
The optional flag of a required capability is simply used by the
resolver to ignore a dependency that can not be satisfied.

On 10/13/2016 11:07 AM, Mickael Istria wrote:

Hi all,

I'm trying to find possible hacks in Tycho/p2 to make Tycho able
to include platform-specific features in category.xml. This
usually fails during target-platform resolution, so I would like
to find a way to first make Tycho much more (too) permissive by
forcing all dependencies to be "optional".
So I landed onto the RequiredCapability class, which describes how
things are resolved. However I didn't see in this class about
"optional" is defined. How is the optional behavior described at
this layer of p2 API?