Recherche

Sommaire

Pages enfant
  • Environnement de développement (A VIRER)

Configuration des repositories maven

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 settings.xmlfichier d'exemple.

Travail préalable

Créer un répertoire de travail. <autoformationNuxeo> dans la suite de ce document. 

Installation d'ESUP-ECM 

Pour développer il faut utiliser une base qui sera la dernière version de ESUP-ECM :

  • Télécharger la dernière version depuis sourcesup
  • Suivre la documentation "Guide d'installation"

Création d'un projet vide

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.

Récupération des sources nuxeo 

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.

Utiliser mercurial et forest via cette commande :

hg fclone -r release-5.1.6 http://hg.nuxeo.org/nuxeo nuxeo

Si vous utiliser TortoiseHg il faut enlever le "!" à la fin de la ligne "hgext.forest =" dans le fichier Mercurial.ini pour activer l'extension forest.

Ensuite, il est possible de rendre ces différentes sources des projets Eclipse.
Dans le répertoire <autoformationNuxeo>/nuxeo :

  • Positionner la variable d'environnement MAVEN_OPTS à -Xmx512m -XX:MaxPermSize=128m
  • Lancer mvn -Dmaven.test.skip=true install
  • Lancer mvn eclipse:eclipse
  • Importer dans eclipse les différents projets :
    • File > Import > General > Existing Projects Into Workspace
    • Sélectionner <autoformationNuxeo>/nuxeo

Récupération des "addons"

  • Si on souhaite récupérer tous les addons, on utilisera les commandes :

    hg fclone http://hg.nuxeo.org/addons addons
    

    Rappel : hg fclone est disponible grâce à forest(voir ci-dessus et page précédente).

  • Puis depuis le répertoire addons :

    hgf update 5.1.6
    

    Rappel : hgf est une petite fonction shell proposée par Nuxeo (voir ci-dessus et page précédente).

    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 ...
  • Enfin d'importer les sources des addons en tant que projets eclipse, on peut également, dans chacun des répertoires correspondants aux addons qui nous interessent :
    • Invoquer la commande

      mvn eclipse:eclipse
      
    • Importer dans eclipse le projet :
      • File > Import > General > Existing Projects Into Workspace
      • Sélectionner <autoformationNuxeo>/addons/<nom_addon>

Récupération, à titre d'exemple, du projet ESUP-ECM

Ici on utilise un subversion plus classique.

Typiquement ici nous faisons un checkout (terme subversion) dans le répertoire <autoformationNuxeo>/esup-ecm le repository suivant :

  • http://subversion.cru.fr/esup-ecm/esup-ecm-config/trunk/

    Un autre projet d'exemple intéressant est fourni par nuxeo : cf. http://svn.nuxeo.org/nuxeo/org.nuxeo.project.sample

  • Dans le répertoire <autoformationNuxeo>/esup-ecm/esup-ecm-config-plugin :
    • Lancer mvn -Dmaven.test.skip=true install
    • Lancer mvn eclipse:eclipse
  • Importer dans eclipse le projet :
    • File > Import > General > Existing Projects Into Workspace
    • Sélectionner <autoformationNuxeo>/esup-ecm/esup-ecm-config-plugin
  • Pour travailler sur le package ESUP-ECM dans son ensemble. Dans eclipse
  • File > New > project
    • nom esup-ecm
    • content pointant sur <autoformationNuxeo>/esup-ecm

Test du projet d'exemple

Il est intéressant, à ce stade de tester le plugin. Pour cela, dans le répertoire <autoformationNuxeo>/esup-ecm

  • Editer le fichier build.properties pour personnaliser la propriété jboss.dir. Elle devrait correspondre au répertoire de déploiement de ESUP-ECM suivit du nom du répertoire correspondant à la version de nuxeo intégrée dans ESUP-ECM. Exemple : /data/nuxeo/esup-ecm-<version>/nuxeo-ep-<version>.GA
  • Lancer ant deploy
  • Lancer ESUP-ECM
  • Tester via http://localhost:8080/nuxeo que vous obtenez un onglet ORI-OAI après avoir cliqué sur un fichier contenu dans un espace nuxeo
  • Stopper ESUP-ECM

Import des projets dans eclipse

Il est temps maintenant d'importer dans eclipse les différents projet nuxeo et le projet tuto-plugin-nuxeo

Dans eclipse :

  • File > Import > General > Existing Projects Into Workspace
  • Sélectionner <autoformationNuxeo>/nuxeo
  • File > Import > General > Existing Projects Into Workspace
  • Sélectionner <autoformationNuxeo>/nuxeo-ep-5.1.4.GA
  • Aucune étiquette