views:

444

answers:

1

I'm currently evaluating ivy, maven and buckminster to ease our build process. Conceptually buckminster seems the most advanced, but also to have quite a complexity.

I can't find so many first hand experiences to buckminster on the web, therefore my question to the Stackoverflow community.

+5  A: 

We adopted buckminster for our build process in July.

Our set up was to use Ant being run by a CruiseControl server.

We chose it as we have multiple projects living in multiple repositories. We have several RCP products that use different combinations of these projects.

  • Managing the checkout (and build) for each of these products had to be run off the metadata which we were writing already (manifest files, product files). It was just too easy to get the build and dev metadata out of synch.
  • Building bundles and generating a product still is not easy to do by hand.
  • New starters need to be up and running quickly. Two+ days to set up a dev environment is not acceptable.

Overall, I found that it is a very powerful tool with poor documentation. There are lots of new concepts, and because it is a framework to plug tools into, some of those names for these concepts can be quite abstract.

However, buckminster absolutely excelled at solving the three problems detailed above.

Other additions:

  • It can bootstrap itself, as in: it can check itself out, given a minimal core
  • It seems to be under active development
  • Support via the mailing list is terse, but generally helpful.
  • It has a rudimentary scripting language. Very rudimentary.

On the downside (apart from the lack of docs):

  • it is still not mature - you find the occasional bugs, and some features which just should be there, but aren't.
  • I could not work out how to make the test bundle work
  • Testing OSGi products is still non-trivial and not easily made headless.

Overall, I would say that it took a while to bed in, but does an excellent job. I cannot compare it with Ivy or Maven, though Spring's adoption of OSGi may give critical mass in developer mindshare to Maven.

I have answered a few questions concerning buckminster, for help when you start.

jamesh
For now we decided to go with maven2, hopefully that one day in the near future tycho will help us with the eclipse/osgi stuff. But still some problems which are addressed by buckminster are still open. But for our liking buckminster is not ready enough (especially on the documentation side).
Mauli