Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Yet another nag note ... and, I mean it this time!

Am 24.05.2012 11:33, schrieb Dennis Hübner:
> You say "must", is the last year default deprecated?

I think it's not explicitly deprecated. But it's "legacy". ;)

> However we have over 250 optional dependency entries in 53
> bundles, instead of creating 53 p2.inf files I used the x-installation
> instruction:
> ;resolution:=optional;x-installation:=greedy,

Yes, that works as well. It's a much easier way. However, I'm wondering
if the report should have detected those as "explicit" and not as "old
default". Are you using the new publisher?

> I tried to make our "product" behaves exactly the same as before the new
> default.

I don't know your product well enough. Are those optional dependencies
necessary for the product or the bundle as well? You may not need to
explicitly set the greedy setting everywhere. Sometimes the new default
is also ok.

IMHO a bundle uses 'resolution:=optional' to indicate either that a
dependency is only necessary when additional functionality is wanted (a)
or that additional functionality is available when the dependency is
available (b).

I see (b) purely as a user driven use case. For example, if Mylyn is
available then integrate with Mylyn but do not install Mylyn when my
bundle is installed. This use case should not use the greedy setting.

A packager might want to provide a "my feature + Mylyn" package. That
can be achieved by creating a feature (or product) which combines both.
But then greedy also isn't necessary because the feature.xml makes an
explicit reference.

For (a) some downstream consumer (another bundle) may require the
dependency because it knows that it calls some extended API that
requires the optional dependency. I think in this case the downstream
consumer should define a non-optional dependency anyway so greedy isn't
technical necessary.


Back to the top