Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[buckminster-dev] Buckminster and p2

Hi guys,

Maybe this was discussed in the past, but I'm not aware of any such 
discussion, so I just bring up this idea that came into my mind while 
driving too fast on the German Autobahn this weekend ;-)

What if we made the BOM available as a p2 repository?

I see two main advantages. First, it would enable us to use the p2 
materializer no matter where the bundles come from. Right now, that's only 
possible if the bundles reside in http:// or file:// based p2 repos. If your 
(binary) bundles are checked into SVN or reside in a Maven or Ivy repository 
(like the Springsource bundle repository), the p2 materializer cannot be 
used. If our resolution result could present itself as a p2 repo, this would 
be no problem.

The second advantage is that whenever anyone expects a p2 repo, he can use a 
CQUERY/RMAP and resolve the stuff from there. The most obvious use case is 
the PDE target platform. Using the current PDE UI, it should be possible to 
supply a CQUERY/RMAP (or BOM) instead of a p2 site. 

I imagine this to work very similar to p2's mechanism of reading old-style 
site.xml files. If such a file is given, p2 computes the meta-information 
on-the-fly. The same should be possible when providing a CSPEC or BOM. With 
all the meta-information we have available in Buckminster, it shouldn't be 
too hard to adapt this to p2 metadata.

If we continue this line of thought, it leads us the next question:

What if we used the p2 materializer exclusively and implement our current 
materializers as touchpoints for p2?

Now I admit that this last proposition does not provide any added value in 
itself, but it would have probably been the straightforward implementation 
if p2 had been around a couple of years earlier. Provided, of course, p2 is 
capable of using multiple touchpoints at the same time, like we do when 
putting source stuff in the workspace and binary stuff in the target 
platform.

What do you think of this? I'm not sure if the cost/benefit ratio is 
reasonable for Buckminster, but maybe it's worth considering for b3?

Cheers,
 Achim


Back to the top