version Nous tous nos bibliothèques de base.
Ainsi par exemple, le SVN ressemble à ceci:
/repo/lib1/trunk/
/repo/lib1/tags/1.0
/repo/lib1/tags/1.1
/repo/LIB1/branches
...
Cela évite la situation où vous cassez BC, ou quelque chose, et il nécessite une mise à jour pour les trois autres projets qui utilisent la bibliothèque.
De plus, nous utilisons svn:externals
à lier ces bibliothèques dans les projets.
/repo/project1/tags/1.0
/repo/projet1/trunk/bibliothèque
...
svn propedit svn:externals /repo/project1/trunk/library
Entrez les informations suivantes:
lib1 svn: //host/repo/lib1/tags/1.1
... et valider la modification. Project12 lui-même suit également la convention (balises pour les versions, etc.).
Selon la langue de votre choix, il y a bien sûr d'autres options. Faites-moi savoir si vous pouvez entrer dans les détails et je vois si je peux prolonger ma réponse. Mais dans l'ensemble, c'est aussi simple que ça. Aucun autre outil de construction requis.
Nous effectuons tout notre déploiement directement à partir de subversion (via capistrano). C'est en gros juste vérifiant l'étiquette, et fait. Permet même de le fixer à chaud. Si vous me permettez pimping mon propre blog - J'ai beaucoup écrit sur ce sujet ("déploiement de svn").
HTH!