Current status

Posting date: 2nd January 2005

First of all, happy new year! But now, to the real news: a month ago, I posted a message in my journal detailing the current Buildtool status. I should have posted it here too, which is the most reasonable place if I expect people to read it. So here goes a copy/paste of it. BTW, since commenting is not supported here, feel free to post any replies in the original message in my blog:

Hmm, Buildtool... one of my pet projects, probably the one on which I've spent the most time working... and it was even starting to get some (few) popularity lately

But I must admit it. The code is, in its actual form, dead :-( It's unmanageable (shell scripting doesn't scale, you know) and breaks in many, many places. Just consider the following facts:

... plus a large etcetera. All in all, too many problems that can't be solved without doing very gross hacks or restarting the project from scratch. This is why I haven't touched the code since the beginning of the summer.

But... you know what? For some reason, I'm willing to rewrite it from scratch. Of course, using a real programming language. The choices I have in mind are ("obviously" ;-):

If I can't find any strong reason not to use C++, I'll stick to it. In fact, I've already written a bit of code (program detection) and it has been easy :-)

Oh, I listen, "How could build scripts be?". Well, I have XML in mind - something similar to Apache Ant. Otherwise I'll have to invent and write a parser for a custom language (ew, not funny). But that's something yet to decide.

Not in original post: I've been looking at Lua lately, a programming language used to "extend" Monotone. Looks like it could be a possible choice for scripting (though it doesn't fit very well my current idea of how scripts could look like).

Test Driven Development meets Buildtool

Posting date: 11th July 2004

Test Driven Development (TDD, for short) is a technique in which you write a test before adding a new feature. The test fails until the feature is properly implemented. Furthermore you end up with a complete regression suite for your application, so that you can easily check that new features don't break old ones.

As this sounds very interesting and is known to be a good development model, I'm rewritting the Testsuite (included in the Buildtool distribution file), to follow TDD principles. So far I've written twelve tests that check multiple parts of the program, and already fixed some bugs, thanks to them.

I think that the next version, 0.17, will be just a polished 0.16, with all bugs found by the tests fixed. Some features may come too, but not many (probably). Note that this is what I think now, and that my mind can change until it's published... ;-)

Buildtool 0.16 released

Posting date: 4th July 2004

Buildtool 0.16 released. This version includes lots of changes since the previous one. The major ones include preliminar support for work directories and a rewrite of bt_logic's core. There are also several small new features as well as many bug fixes.

Debian packages available

Posting date: 28th March 2004

Debian packages are now available, thanks to Bartosz Fenski. Check the downloads section for more information.

Web site redesign

Posting date: 18th February 2004

The web site look has been completely redesigned. The old style was designed more than a year ago, and it was too dark and boring. Hope you like it!

Buildtool 0.15 released

Posting date: 4th February 2004

Buildtool 0.15 released. This release completely drops the deprecated bt_make and bt_wrap modules in favour of bt_logic. It also includes multiple new features and bug fixes, and has been tested on more systems.

Happy new year

Posting date: 3rd January 2004

Happy new year! (this is delayed, but better late than never ;-). I would like to let you know that Buildtool is by no means abandoned. I've been very busy with university tasks since 0.14 was released, and will probably be for two or three more weeks. Anyway, what is actually in CVS is close to what 0.15 will be; it needs a careful review, some more changes (specially in bt_logic and the documentation) and it will be ready for release. So... stay tunned!

Buildtool 0.14 released

Posting date: 5th September 2003

Buildtool 0.14 released. This release includes some new features but also fixes many bugs. Should be completely compatible with the previous one.

Buildtool 0.13 released

Posting date: 31st August 2003

Buildtool 0.13 released. Major highlights in this version include the new bt_sh module and the new make-like program bt_logic, which supersedes bt_make. It may seem a bit premature (as there are still many things to do), but it is here to let developers adapt their packages to the new unified file framework and to start testing bt_logic. As soon as actual developers can safely use the new framework, bt_make will be dropped. Feedback will be really appreciated. Enjoy!

Addition of bt_logic: new make-like module

Posting date: 27th August 2003

Some days ago, I posted a message to the buildtool-devel mailing list announcing the creation of a new make-like program. As it is still in early stages of development, it could be very good if you checked that message and posted your ideas or wishes about this new program, which will eventually become a replacement for the actual bt_make module. For now, you can check out the CVS version of Buildtool and start playing with the code already commited.

Addition of bt_sh: portable shell interpreter

Posting date: 26th August 2003

A new module has been added to Buildtool, called bt_sh. As the name suggests, this is a shell interpreter which is extremely fast and small. With this addition, Buildtool shell code can be written without taking care of ancient or non-standard shell interpreters, and gives us the freedom to add new functionality to it if needed. To developers, this means that they do not need to care any more about shell incompatibilities. You can find this out in the CVS version of Buildtool (but remember that it's unstable).

RPM packages available for RedHat Linux

Posting date: 25th July 2003

RPM packages for RedHat Linux 9 are now available, thanks to Doug Henry. Check the downloads section for more information.

First birthday

Posting date: 24th July 2003

Today is 1st Buildtool's birthday! It has passed a year since the project was registered at After this period of time, we have got through twelve different versions, and the project is becoming quite mature in my oppinion. The twelfth version has been delayed a lot more than I wanted but, at last, Buildtool 0.12 is released! See the downloads section for more details. Note that the documentation has been replaced with the new manual, too; check out the documentation section. Thanks for supporting this project!

Manual converted to Docbook/XML

Posting date: 22nd July 2003

After some weeks of work, the Buildtool manual has been converted to Docbook/XML and splitted into its own CVS module, aside from source code. From now on, it will be distributed in its own package, starting from the shortcoming 0.12 release. It will be uploaded here when this version is out, too.

New buildtool-cvs mailing list

Posting date: 11th June 2003

The buildtool-cvs mailing list has been configured. All commits done in the CVS repository will generate a mail in this mailing list. See the mailing lists section for more information.

CVS repository is now public

Posting date: 10th June 2003

The CVS repository used during the development of Buildtool has been made publicly available through Sourceforge project services. The Anonymous CVS section contains more details.

RPM packages available for SuSE Linux

Posting date: 13th April 2003

RPM packages for SuSE Linux are now available, thanks to Pascal Bleser. Check the downloads section for more information.

Buildtool 0.11 released

Posting date: 12th April 2003

Buildtool 0.11 released.

Buildtool 0.10 released

Posting date: 5th February 2003

Buildtool 0.10 released. Lots of new features.

Buildtool 0.9 released

Posting date: 23rd January 2003

Buildtool 0.9 released. Please update, as this release implements some important features like version checking (BT_REQUIRE).

Buildtool 0.8 released

Posting date: 15th December 2002

Buildtool 0.8 released.

Buildtool 0.7 released

Posting date: 30th November 2002

Buildtool 0.7 released.

Web site redesigned

Posting date: 24th November 2002

Web site look redesign. You may find it very similar to bochs' site... I took the idea from there (it is so beautiful ;-).

Buildtool 0.6 released

Posting date: 29th September 2002

Buildtool 0.6 released.

Buildtool 0.5 released

Posting date: 14th September 2002

Buildtool 0.5 released. Do not use this version; it is quite broken due to bt_make's Makefile cleanup.

Buildtool 0.4 released

Posting date: 1st September 2002

Buildtool 0.4 released.

Buildtool 0.3 released

Posting date: 30th August 2002

Buildtool 0.3 released.

Buildtool 0.2 released

Posting date: 24th August 2002

Buildtool 0.2 released.

Buildtool 0.1 released

Posting date: 22nd August 2002

Buildtool 0.1 released.

Buildtool started

Posting date: 24th July 2002

Buildtool project started at Sourceforce.