I cannot think of a good reason to do this.  My guess is that the
Require-Bundle headers are an artifact of earlier days that should be
removed.  It should be a rather simple task to determine if more packages
are required to be imported after removing the require-bundle headers for
the p2 bundles.  The only reason I can think that you would need
require-bundle is if you were trying to aggregate some split packages, but
in this case you should no also import the package because that would bind
you to a single provider for that package.  But I hope we do not have split
packages in p2.

Tom




|------------>
| From:      |
|------------>
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
  |John Arthorne <[email protected]>                                   
                                                                    |
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
  |P2 developer discussions <[email protected]>                                
                                                                    |
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
  |12/02/2010 02:38 PM                                                          
                                                                    |
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  
>-------------------------------------------------------------------------------------------------------------------------------------------------|
  |[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.

John_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to