16 January 2008

Grails 1.0 - Bald schon da?

Grails Issue Tracker Jira zufolge kann es nicht mehr lange dauern, bis die erste stabile 1.0 Version offiziell zum Download bereit steht. Aktuell beinhaltet der Grails 1.0 RC4 noch 6 offene Issues, welche gelöst werden müssen. Danach wird anhand der letzten 55 Issues auf direktem Weg auf die Version 1.0 hingearbeitet. Der Projektleiter von Grails spricht in seinem Blog davon, dass Grails innerhalb des nächsten Monats (Februar 2008) erscheinen soll.

8 January 2008

Umgebungsvariablen in der Windows Registry

Windows verwaltet die Systemumgebungsvariablen unter nachfolgendem Registrypfad.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

6 January 2008

Softwareentwicklung mit Groovy und Gant

Vor kurzem haben Freunde und ich ein Open Source Projekt namens Minsight gestartet, welches mittels Java und Groovy entwickelt wird. Da wir mit Apache Ant bereits gute Erfahrungen gemacht haben, jedoch im Buildprozess mit Groovy arbeiten wollten, haben wir uns entschieden auf Gant zu setzen, welches auf Ant aufsetzt.

Unter diesem Link findet man ein Slideshow zum Thema "Wieso soll Gant verwendet werden?".

Vor ein paar Tagen wollte ich mich daran machen einen Continuous Integration Server aufzusetzen, welcher unser SVN Repository überwacht. Genauer wollte ich TeamCity 3.0 als CI Server verwenden. Als alles schön aufgesetzt war, d.h. als der CI Server funktionierte und bereit war ein Softwareprojekt zu überwachen, ist mir aufgefallen, dass Gant Skripte durch TeamCity 3.0 aktuell nicht unterstützt werden. Ich gebe zu, dass ich keinerlei vorgängige Evaluation durchgeführt habe, ansonsten wäre mir dies wahrscheinlich schon früher aufgefallen wäre :) Anyway. Das hätte in diesem Fall nicht viel gebracht, da keiner der bekannten CI Server Gant direkt unterstützt. Nach meiner Recherche konnte ich auch keinerlei Intention finden, dass sich dies in Kürze ändern würde.

Nach einem kurzem Besuch auf dem Gant Issue Tracker Jira ist mir aufgefallen, dass wir nicht das erste Groovy Softwareprojekt sind, welches in dieses Problem gelaufen ist. Unter Jira Issue Gant-18 hat der Projektleiter von Groovy bereits ein Issue eröffnet, welches nach einem Ant Task verlangt, um eine Art Ant Build Wrapper für ein Gant Skript schreiben zu können.

Zu diesem Zeitpunkt (2. Januar 2008) war das Issue noch nicht in Bearbeitung und daher schrieb ich Russel Winder, dem Projektleiter von Gant, ein Mail und fragte ihn, ob das Issue umgesetzt würde und ob es bereits auf einer Roadmap ersichtlich ist. Offensichtlich hatte Russel im jungen 2008 bereits wieder Tatendrang entwickelt und schrieb mir, dass er aufgrund meiner Anfrage mit der Entwicklung des Ant Tasks begonnen habe *freu*.

Seit dem 4. Januar ist nun auch im aktuellen Snapshot von Gant 1.0.3 der Ant Task zur Verfügung und Russel bat uns diesen mit dem Buildskript von Minsight zu testen. Wie so oft funktioniert neue Software (in diesem Fall die Kollaberation zwischen dem neuen Ant Task und Gant) nicht immer gleich beim ersten Mal. In unserem Gant Skript verwenden wir den ConfigSlurper von Groovy, um auf einfache Weise Java Properties Dateien einzulesen. Offensichtlich verursacht dies ein Problem:

< BUILD FAILED
< C:\minsight\build.xml:12: java.lang.NoClassDefFoundError: groovy/lang/Script


Es scheint als findet Gant die Groovy Libraries (JARs) nicht. Entfernt man den ConfigSlurper funktioniert das Ganze soweit. Offensichtlich gibt es jedoch noch weitere Probleme in diesem Kontext. Russel hat angeboten, das Issue nochmals zu analysieren.

Wir freuen uns auf jedenfalls auf die stabile Gant Version 1.0.3, welche einen Ant Task beinhalten wird, um Gant Buildskripte auch in CI Server ausführen zu können (ohne mit Skriptdaten à la .cmd oder .sh zu arbeiten). All denjenigen, welche Gant verwenden oder es planen in ihrem Softwareprojekt einzusetzen, können wir an dieser Stelle versprechen, dass wir den neuen Ant Task aus der Groovy Gemeinde auf Herz und Nieren im Rahmen unseres Verwendungszwecks testen werden.