Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Dependencies of optional dependencies
Dependencies of optional dependencies [message #663950] Wed, 06 April 2011 21:38 Go to next message
Carsten Reckord is currently offline Carsten ReckordFriend
Messages: 139
Registered: July 2009
Senior Member
Hi all,

I have a little problem here. I am trying to resolve a feature A that has an
optional dependency to a bundle B which in turn has a non-optional
dependency to a bundle C. Bundle C cannot be resolved, which is kind of by
design.

I would have expected that in this case the optional dependency to B would
simply be unresolved. But instead the whole resolution is unsuccessful.

Is this by design? Or should that be considered a bug?

Regards,
Carsten
Re: Dependencies of optional dependencies [message #664007 is a reply to message #663950] Thu, 07 April 2011 07:47 Go to previous message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3229
Registered: July 2009
Senior Member
Hi Carsten,

This is per design but it could still be considered a bug.

Optional to Buckminster means, if it isn't found, that's OK. No more, no less.

Apparently, the bundle is found here, so Buckminster decides to included it and resolve it's dependencies. That breaks
and one can then argue that it shouldn't matter, just skip everything below the optional bundle. On the other hand, one
can argue that the optional bundle is broken since it cannot be resolved and the fact that it's optional doesn't
necessarily mean that we accept that it is broken. So whether it's a bug or not depends on what mindset you're in.

We must also keep in mind that the resolution performed by Buckminster is somewhat limited in what it can do. It cannot
use a SAT resolver like p2 does because in order to do that, you must first have all the facts. Those facts are unknown
to Buckminster. It finds them while resolving. A best effort in this particular case would of course be to:
a) check if there's exactly one path leading up to the missing bundle
b) if that path includes something that is optional
c) remove everything that was brought in as a result of traversing things from that point provided it wasn't also
brought in by something else.

It's not trivial and the result would still not be perfect, but it could be done.

Your option at present is to control this manually by adding an advisory node to your cquery that will cause the
optional bundle to be skipped.

- thomas


On 2011-04-06 23:38, Carsten Reckord wrote:
> Hi all,
>
> I have a little problem here. I am trying to resolve a feature A that has an
> optional dependency to a bundle B which in turn has a non-optional
> dependency to a bundle C. Bundle C cannot be resolved, which is kind of by
> design.
>
> I would have expected that in this case the optional dependency to B would
> simply be unresolved. But instead the whole resolution is unsuccessful.
>
> Is this by design? Or should that be considered a bug?
>
> Regards,
> Carsten
Previous Topic:Feature Plugins not Materialized
Next Topic:Teams on eclipse.org using buckminster
Goto Forum:
  


Current Time: Mon Nov 24 12:36:02 GMT 2014

Powered by FUDForum. Page generated in 0.02703 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software