Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

We use buckminster running via Jenkins to build a KNIME (eclipse) update site with multiple plugins / features hosted in multiple repositories. Initial decision was because that it how the KNIME community contributions are built. There is a learning curve, but once it is running. A lot of our initial setup process was based on the instructions at Developing plugins - continuous integration with Jenkins

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top