Amarok's old release script was basically a ruby rewrite of our very first (bash using) version, still it became more and more lovely ruby code. But as always with such things, it's nowadays no more than a big messy load of crap. Amarok2 development seemed like the perfect time to do a complete rewrite. The new release script, which currently has the lovely name (release_amarok2.rb), is rooting in it's very own framework which is aiming to provide a solution for every release related task (may it be creating the tarball or just tagging). The real cool thing about this framework is, that it is by design 100% modular and generic, which makes it useable for every extragear (and probably also playground application). The only thing you have to do, is to write the actually script which is calling the functions you want to use. This is possible because everything is divided into logical parts, on file level (e.g. libl10n for everythin l10n related), as well as on code level (e.g. InformationQuery() and FetchSource()). This way you can easily turn features off, turn them on again, trace bugs and most important, it makes the code better structured, hence improve maintainability and make it unbelivable easy to add new functionallity. Currently it can fetch the sources, l10n-messages, docs, and also creates a read to go tarball (using KDialog all over the place ;-)