As you may have seen, the Eclipse b3 project is about creating a new generation of Eclipse technology to simplify software build and assembly. There has been lots of activity since the project was created, and there was much interest in b3 at Eclipsecon - so, here is a status update.
In case you did not know; a seminar on b3 was held at Eclipse Summit Europe 09 where the initial ideas were presented and discussed. A lot of new ideas about how people want to work with builds were generated, and there was lots of positive feedback on the original ideas. As always, some darlings were also completely killed in the process (the message that XPath queries are anything but easy to understand was received).
The feedback told us that these things are important:
- Ease of use
- Based on Modeling
- Flexible / Extensible
Armed with all that input the time between ESE and Eclipsecon 2010 was devoted to developing a version of b3 that demonstrates the ideas, with a focus on Ease of Use, while not sacrificing flexibility or capability of dealing with real world complexities when building. At Eclipsecon we reached the first milestone of b3 consisting of:
- A build ecore model
- A process/expression ecore model
- A p2 ecore model with aggregation and rewrite support
- A concrete syntax implemented with XText (i.e. a feature rich eclipse editor and much more).
- An evaluator (i.e. making it possible to run the build scripts).
- Documentation of the concrete syntax
- A website with links to all b3 related information (documentation, for developers, etc).
For the next milestone (around Helios release) we are adding concrete things to b3:
- Use a b3 script to drive a buckminster build
- Publish b3 build units to a p2 repository - i.e. author installable units
As always - love to hear your questions and comments. I have already received quite a few questions regarding the relationship between b3 and other eclipse related build technologies (buckminster, athena, PDE build, and now the Tycho proposal), and that will be the topic of my next blog post about b3.