JoRobo - Tools for Joomla! (Extension) Development

As you maybe know Daniel and i attended to a Joomla! code sprint in Karlsruhe two weeks ago. During the four days of intensive work for Joomla, we came up with the idea to integrate our own build system (formerly jBuild) into a more general one fitting for almost every extension or even template - JoRobo.

Weblinks had no real build system before (just some Phing tasks) and making releases was always a lot of hand work (writing xml files, updating version strings, packaging etc.). And the resulting package also has to tested before, because the „normal" tests run out of the src folder instead on a real package.

At this point JoRobo comes into play, it directly builds installable packages. Integrating it into your extensions or even templates is really easy. With almost zero configuration (Just set the extension name and version), because it automatically analyzes your extensions structure (components, modules, plugins, libraries, templates and Community Builder Plugins currently). The only thing you have to follow is the "normal" Joomla extension directory structure. This also has another great effect, you can easily symlink your project into a Joomla installation for development. JoRobo brings a task for this too (just use vendor/bin/robo map target)  


There are different possibilities what JoRobo can build for you. As for weblinks we mostly needed a Joomla package (with a component, one module and two plugins), so Niels Nübel and I wrote a deployment option for that. Our own extensions currently uses script.php instead of Joomla! packages, so for us JoRobo builds a normal zip file including all components, modules etc. You can set different deployment options (even multiple) in the jorobo.ini.

Niels Nübel worked also on a Github integration for JoRobo. It automatically creates a Changelog, uploads the package to Github and create a release there for you.

But building is not everything JoRobo is about (that's one of the reason why we changed the name). Niels Bracek integrated a lot of code metrics tools (phpcs, phpmd, phpcpd etc.). Also most of the common tasks for tests, which are used in for example weblinks are going to be moved into JoRobo too. As for deployment options, automatic FTP upload etc. are also on our todo-list.

For some sample projects using JoRobo take a look at
 Weblinks or CMC.

If you have ideas, feedback or want to help just drop us a line!