[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Funny dependencies in p2.engine

While reviewing code with Dean we noticed org.eclipse.equinox.p2.engine had some unusual dependency practices in its manifest:

 - In many (but not all) cases, there is both a require bundle and import package for the same dependency
 - Some of the dependencies expressed a very narrow range while others were larger:

require bundle: org.eclipse.equinox.p2.core;bundle-version="[2.0.0,2.1.0)"
import package:  org.eclipse.equinox.p2.core;version="[2.0.0,3.0.0)",

My question is, can anyone think of reasons we would need both package and bundle imports? I thought we had settled on only using package imports between p2 bundles. Also, I think the narrow range is overly conservative even in cases where we use friends or internals between p2 bundles. For example Dean was adding a new, fully compatible API in p2.core, which broke the above bundle dependency, requiring p2.engine to be changed for no good reason.