Recherche
Maven utilise des repositories par défaut pour retrouver les librairies. Nuxeo utilise des repositories spécifiques. Il faut les définir dans le fichier de configuration maven. typiquement :
$HOME/.m2/settings.xml pour Linux
C:\Documents and Settings\<user>\.m2\settings.xml pour windows
Voici un fichier d'exemple.
Créer un répertoire de travail. <autoformationNuxeo> dans la suite de ce document.
Pour développer il faut utiliser une base qui sera la dernière version de ESUP-ECM :
Dans la documentation nuxeo (à partir de Generate a new project with the nuxeo-archetype-start archetype) il est proposé une solution pour créer un projet de base qui permet de démarrer un nouveau développement. Dans cette section nous allons procéder différemment. En effet, nous allons utiliser un projet préexistant afin de démontrer certains concepts. De plus, nous allons procéder au rapatriement des sources de nuxeo afin d'en disposer en tant que projet eclipse.
Nuxeo utilise pour la gestion de versions de ses sources l'outil mercurial. cf. FAQ nuxeo à ce sujet
Les procédures ci-dessous peuvent prendre plusieurs minutes
Typiquement ici nous clonons (terme mercurial) dans le répertoire <autoformationNuxeo> les repositories suivants :
Voir la page téléchargement sourcesup pour connaitre les numéros de versions exactes. Dans l'exemple ici nous utilisons la version 5.1.6. Elle même liée à une version 1.4 de nuxeo-core.
Pour ce faire le plus simple est d'utiliser mercurial et forest via cette commande :
hg fclone -r release-5.1.6 http://hg.nuxeo.org/nuxeo nuxeo
hg fclone http://hg.nuxeo.org/addons addons
Rappel : hg fclone est disponible grâce à forest(voir ci-dessus et page précédente).
hgf update 5.1.6
Ici des problèmes peuvent apparaître sur hg update 5.1.6 pour les plugins/addons qui n'ont pas de release 5.1.6 ...Rappel : hgf est une petite fonction shell proposée par Nuxeo (voir ci-dessus et page précédente).
mvn eclipse:eclipse
Ici on utilise un subversion plus classique.
Typiquement ici nous faisons un checkout (terme subversion) dans le répertoire <autoformationNuxeo>/tuto-plugin-nuxeo le repository suivant :
Ce projet d'exemple est tiré d'un plugin nuxeo pour ORI-OAI (une des premières versions et utilisation d'une classe service de test). Il a lui-même été construit à partir du projet d'exemple fourni par nuxeo : cf. http://svn.nuxeo.org/nuxeo/org.nuxeo.project.sample
On ne décrit pas ici les concepts sur la base du package esup-ecm-config car ce dernier ne permet de voir tous les principes de développement puisque c'est essentiellement un package de configuration qui ne contient pas de code source.
Dans le répertoire <autoformationNuxeo>/tuto-plugin-nuxeo :
Il est intéressant, à ce stade de tester le plugin. Pour cela, dans le répertoire <autoformationNuxeo>/tuto-plugin-nuxeo :
Il est temps maintenant d'importer dans eclipse les différents projet nuxeo et le projet tuto-plugin-nuxeo
Dans eclipse :