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.0
Automatisation
<!-- ****************************************************************** -->
<!-- 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-developpement
Automatisation
<!-- ****************************************************************** -->
<!-- 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-developpement
8. 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