Ant + Subversion

Subversion ist ein Programm zur Versionskontrolle und der Nachfolger von CVS. Ich habe frueher mit CVS gearbeitet aber seit dem ich Subversion kenne moechte ich nichts mehr von CVS wissen.

Das build-tool ant hat fuer Java Entwickler ungefaehr die gleiche Bedeutung wie “make” fuer die C und C++ Entwickler. Mit ant werden Dateien kopiert, JARs, WARs und EARs gebacken.

Was liegt naeher als die beiden Werkeuzge miteinander zu verbinden. Es gibt verschiedene Moeglichkeiten um mit ant den aktuellen Sourcecode aus einem Subversion-Server auszuchecken. In jedem Fall muss dafuer auf der Maschine auf dem ant laufen soll ein Subversion Client installiert sein.

Auf einem Debian-Linux-System ist das mit folgendem Befehl aus der Kommandozeile erledigt:

apt-get install subversion

Auf einem Mac OS X System empfehle ich die Darwin Ports zu benutzen. Dazu eine Konsole oeffnen und folgenden Befehl absetzen:

port install subversion

Die Windowsbenutzer muessen sich von der Subversion-Homepage ein Programm herunterladen und per Hand installieren. Hier der Link: http://subversion.tigris.org/

Nach der Installation sollte geprueft werden ob der svn-client auch wirklich funktioniert. Der folgende Befehl checkt ein Projekt aus dem Subversion-Server aus:

svn co –-username tom –-password tomtom http://ebtj09.firma.de/svn/fop/trunk zielverzeichnis

Natuerlich muessen die Werte an den eigenen Subversion-Server angepasst werden.
Der selber Aufruf kann auch aus ant heraus abgesetzt werden.

<target name="checkoutBuild"   description="auschecken von Code aus dem Subversion-Server"  >
 <exec executable="svn"  >
 <arg line="co –-username ${svn.username} –-password$ {svn.password} ${svn.projecturl} ${destUrl}"   />
 </exec>
</target>

Published by Robert Reiz

CEO @ VersionEye. Passionated software developer since 1998.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: