samedi 13 septembre 2008

ActiveRecord : installation

Etape 1 : téléchargement de Castle

J'ai dégagé une après-midi entière pour me consacrer (seul) à quelques expériences avec l'ami ActiveRecord.

Tout commmence par le téléchargement de Castle, via une URL accessible pour Tortoise SVN que m'a refilé l'ami Gildas.

Tortoise SVN ? C'est un client SVN pour Windows.

SVN ? Un des outils de contrôle de source les plus utilisés.

Le contrôle de source ? Ca consiste principalement à archiver les modifications sur une ensemble de fichiers source au fur et à mesure, pour garder les anciennes versions sous le coude, identifier qui à modifié tel module quand on travaille à plusieurs, verrouiller un fichier pour éviter des modifications concurrentes, etc.
Indispensable en développement, au moins autant que la cafetière, c'est dire !

L'URL des sources du projet 'trunk' (tronc commun) de Castle est la suivante :
http://svn.castleproject.org:8080/svn/castle/trunk
10mn et 27Mo plus tard, c'est terminé. Efficace !

J'en profite pour ajouter une autre URL qui contient les projets de contribution, qui me serviront plus tard :
http://svn.castleproject.org:8080/svn/castlecontrib/


Etape 2 : première compilation de Castle

Une fois les fichiers récupérés, un petit 'VSNET.Readme.txt' m'apprend qu'il faut d'abord faire une première compilation pour insérer le projet dans une solution Visual Studio. Et pour ça il faut NAnt.
Damned ! C'était trop facile... bon, c'est parti pour télécharger la dernière version stable de NAnt (0.85).

NAnt est un outil qui permet d'automatiser la compilation de fichier. Originalement appelé Ant et visant le Java, une version est sortie spécifique à la plateforme .Net appelée NAnt. Pour ceux qui connaissent, c'est un genre de make ou makefile, avec des outils en plus.

Après une courte lecture du readme.txt, je vois qu'il se lance en ligne de commande et qu'il va chercher un fichier .build dans le répertoire. Je rajoute donc le répertoire contenant l'exécutable nant.exe dans la variable d'environnement PATH, histoire que ça fonctionne en ligne de commande depuis n'importe quel répertoire.

Retour au répertoire de Castle, exécution de la ligne de commande 'nant' (ca me semble trop facile...) et là "ERROR : NUnit not found". Je le savais bien que c'était trop facile. Je maudis intérieurement l'open-source et son incapacité à délivrer des produits finis et packagés pour les utilisateurs lambda... comme si tout le monde utilisait NUnit !

NUnit est un framework permettant de créer facilement des tests unitaires, afin de valider que les différentes évolutions sur le développement d'un produit n'ont pas causé d'effets de bord sur une autre partie.

Aucune envie d'installer NUnit pour l'instant. Je viens de me souvenir que Gildas me suggérait d'outrepasser les tests unitaires à la compilation. Recherche dans le 'How to build.txt' de Castle : il faut utiliser la commande 'nant quick rebuild'. Et c'est reparti pour une exécution en ligne de commande, mais là nouvelle erreur !

NAnt ne trouve pas l'utilitaire AL.EXE, et il en a besoin. Avez-vous correctement installé le framework.Net 2.0 SDK ? (traduction personnelle). Je retient une envie furieuse de frapper l'écran.

Après une courte pause méditation, je décide très calmement d'installer le framework 2.0 SDK, qui fait... 377Mo ! Bon... bein c'est parti pour une seconde pause.

Le téléchargement s'achève, l'installation fonctionne parfaitement, merci Microsoft (je ne le dirai pas tous les jours). Je relance pour la troisième fois ma commande de compilation, et là... ça tourne...

La compilation s'achève enfin
! Et le plus drôle c'est le message qui s'affiche à la fin : BUILD SUCEEDED, Total time 11,3 seconds. La blague ! Je dirais plutôt dans les 1h40...


Etape 3 : compilation d'ActiveRecord dans VisualStudio

Après la compilation, il reste à créer ma solution de test sous Visual Studio, y intégrer ActiveRecord et commencer à coder...

Pas de surprise à la création de la solution. C'est parfaitement conforme à ce qui est requis dans la documentation d'ActiveRecord. J'ajoute le projet 'ActiveRecord', puis 'Castle.Core'. Et je termine en ajoutant au projet 'ActiveRecord' les références aux dll qui sont fournies :

  • nhibernate.dll
  • log4net.dll
  • Iesi.Collections.dll

Ca compile très bien. Je vais pouvoir coder. Mais coder quoi........ ?

Aucun commentaire:

Enregistrer un commentaire