0. Introduction▲
Ce tutoriel est un extrait de séances pratiques de la formation SPRING dispensée par Objis.

1. Prérequis▲
Le seul prérequis à ce tutoriel est d'avoir Ant installé sur votre machine.
3. Objectifs▲
Intégrer ANT et SUBVERSION
4. Programme▲
Partie 1 : Installer SVNAnt : 15 min
5. Partie 1 : Installer SVNAnt▲
Téléchargez SVNAnt à partir du site officiel.
Contenu du répertoire lib :
- Copiez les jars antlib.jar et svnClientAdapter.jar dans ANT_HOME/lib ou bien (comme ici) dans un répertoire spécifique : svn-ant-lib
- Dans le build ANT, ajoutez la ligne :
—A partir de la documentation de SVNAnt, expliquez la configuration suivante.
<property file="build.properties"></property>
<!-- Proprietes SVN and SVN-ANT Taches -->
<property name="svn.repository.url" value="${svn.repository.url}"/>
<property name="svn.project.base.path" value="${svn.project.base.path}" />
<property name="svn.base.url" value="${svn.repository.url}"/>
<property name="svnant.lib.dir" location="${svn.ant.lib}"/>
<property name="svnant.javahl" value="false" />
<property name="svnant.svnkit" value="true" />
<!-- Proprietes SVN and SVN-ANT Taches -->6. Création d'un TAG▲

Création de Tag 'à la main' :
svn copy -m "Release 1" svn ://localhost/repository1/projet-tax-calculator/trunk svn ://localhost/repository1/projet-tax-calculator/tags/release-1.0Automatisation
<!-- ****************************************************************** -->
<!-- svntag: cree un TAG en utilisant proprietes -->
<!-- fichier build.properties ainsi que taches SVNANT task -->
<!-- ******************************************************************* -->
<target name="svntag" description="tags projet individuel en utilisant la tache svnant">
<property name="svn.tag.message" value="Creation du tag ${tag.name} pour projet ${project.name} a partir de trunk "/>
<property name="src.url" value="${svn.base.url}/${project.name}/trunk/"/>
<property name="dest.url" value="${svn.base.url}/${project.name}/tags/${tag.name}"/>
<echo message="${svn.tag.message}"/>
<echo message="${src.url}"/>
<echo message="${dest.url}"/>
<svn javahl="${svnant.javahl}" svnkit="${svnant.svnkit}" username="${svn.username}" password="${svn.password}">
<copy srcUrl="${src.url}" destUrl="${dest.url}" message="${svn.tag.message}"/>
</svn>
</target>7. Création de BRANCHES▲
Création de Branche 'à la main' :
svn copy -m "Release 1" svn ://localhost/repository1/projet-tax-calculator/trunk svn ://localhost/repository1/projet-tax-calculator/tags/release-1.1-developpementAutomatisation
<!-- ****************************************************************** -->
<!-- svnbranch: cree une Branche via proprietes -->
<!-- fichier build.properties ainsi que taches SVNANT task -->
<!-- ****************************************************************** -->
<target name="svnbranch" description="cree une nouvelle branche pour projet individuel a partir de la tache svnant">
<property name="svn.branch.message" value="Creation nouvelle branche pour
le projet ${project.name} avec nom de nouvelle branche ${new.branch.name} a partir de
trunk"/>
<property name="src.url" value="${svn.base.url}/${project.name}/trunk/"/>
<property name="dest.url" value="${svn.base.url}/${project.name}/branches/${new.branch.name}"/>
<echo message="${svn.branch.message}"/>
<echo message="${src.url}"/>
<echo message="${dest.url}"/>
<svn javahl="${svnant.javahl}" svnkit="${svnant.svnkit}"
username="${svn.username}" password="${svn.password}">
<copy srcUrl="${src.url}" destUrl="${dest.url}" message="${svn.branch.message}"/>
</svn>
</target>Remarque : pour travailler sur la nouvelle branche :
svn switch svn ://localhost/repository1/projet-tax-calculator/tags/release-1.1-developpement8. Export▲
Automatisation de l'export
<!-- ****************************************************************** -->
<!-- svnexport: cree un export via export proprietes -->
<!-- fichier build.properties ainsi que taches SVNANT task -->
<!-- ****************************************************************** -->
<target name="svnexport" description="exporte projet individuel en utilisant tache svnant">
<property name="svn.tag.message" value="Export du projet project ${project.name} avec tag ${tag.name}"/>
<property name="src.url" value="${svn.base.url}/${project.name}/tags/${tag.name}"/>
<property name="destPath" value="${dest.path}"/>
<echo message="${svn.tag.message}"/>
<svn javahl="${svnant.javahl}" svnkit="${svnant.svnkit}" username="${svn.username}" password="${svn.password}">
<export srcUrl="${src.url}" destPath="${destPath}/${project.name}"/>
</svn>
</target>9. Conclusion▲
Dans ce tutoriel, vous avec utilisé SVNAnt pour automatiser des taches courantes d'administration : création de tag et branches



