1. Introduction

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

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 :

Contenu du répértoire 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 :
 
Sélectionnez

A partir de la documentation de SVNAnt, expliquez la configuration suivante.

 
Sélectionnez
<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

Image non disponible

Création de Tag 'à la main' :

 
Sélectionnez
svn copy -m "Release 1" svn ://localhost/repository1/projet-tax-calculator/trunk svn ://localhost/repository1/projet-tax-calculator/tags/release-1.0

Automatisation

 
Sélectionnez
<!-- ****************************************************************** -->
<!-- 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' :
 
Sélectionnez
svn copy -m "Release 1" svn ://localhost/repository1/projet-tax-calculator/trunk svn ://localhost/repository1/projet-tax-calculator/tags/release-1.1-developpement

Automatisation

 
Sélectionnez
<!-- ****************************************************************** -->
<!-- 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 :

 
Sélectionnez
svn switch svn ://localhost/repository1/projet-tax-calculator/tags/release-1.1-developpement

8. Export

Automatisation de l'export

 
Sélectionnez
<!-- ****************************************************************** -->
<!-- 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