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 ;-)