Outils pour utilisateurs

Outils du site


public:preparation_env_dev_manuel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:preparation_env_dev_manuel [2019/02/15 14:35]
matthieu.decorde@ens-lyon.fr
public:preparation_env_dev_manuel [2020/03/31 09:42] (Version actuelle)
matthieu.decorde@ens-lyon.fr [Récupérer les plugins RCP des architectures cibles]
Ligne 1: Ligne 1:
 ====== Tutoriel de préparation de l’environnement de développement de TXM ====== ====== Tutoriel de préparation de l’environnement de développement de TXM ======
  
-===== Téléchargements =====+<note warning> **Nouvelle version en cours de rédaction**
  
-  * Installer TXM : prépare la machine avec les derniers binaires de CQP et R avec ses packages. Si cette installation ​n'​est ​pas possible, voir la section [[public:​preparation_env_dev_manuel#​installations_de_cqp_et_r|Installations de CQP et R]] +Ce tutorial temporaire ​n'​est ​actuellement complet que pour Linux.</note>
-  * Télécharger [[https://​eclipse.org/​downloads/​packages/​release/​luna/​sr2|Eclipse Luna SR2 for RCP and RAP Developers]] +
-    * lien alternatif ​pour Linux 64bit [[http://​txm.sourceforge.net/envdev/​eclipse.zip]] déjà équipé de tous les plugins +
-  * Télécharger [[http://​archive.eclipse.org/​eclipse/​downloads/​drops4/​R-4.4.2-201502041700/​|Delta pack]] (pour cross-compiler TXM) +
-    * lien alternatif [[http://​txm.sourceforge.net/​envdev/​eclipse_delta.zip]] +
-  * Télécharger [[http://​txm.sourceforge.net/​envdev/​eclipse_babel.zip| Babel]] (externalisation pour les langues '​fr',​ '​en'​ et '​ru'​ des plugins Eclipse) +
-  * Installer le [[https://​marketplace.eclipse.org/​content/​resourcebundle-editor|RessourceBundle]] depuis l' [[https://​raw.githubusercontent.com/​essiembre/​eclipse-rbe/​master/​eclipse-rbe-update-site/​site.xml|update site]]+
  
 +===== 1) Pré-requis =====
  
-===== Manipulations de fichiers =====+Taille du SDK : environ 2Go
  
-  * Extraire Eclipse, Babel et DeltaPack dans %%$HOME/​Eclipse%%,​ les dossiers "​eclipse",​ "​eclipse_babel"​ et "​eclipse_deltapack"​ ont été créés +  * système 64bit 
-  * Lancer Eclipse +  * Linux : Ubuntu 18.04 
-  * Ajouter les dossier "​eclipse_babel"​ et "​eclipse_deltapack"​ dans les targets de la page de préférence "​Plug-in-development > Target Platform",​ sélectionner "​Running platform"​+  * Windows : Windows 7 
 +  * Mac OS X : 
  
-{{:​prive:​eclipse_preferences_addtargetsbabeldeltapack.png|}}+===== 2) Installation minimale =====
  
-===== Installer les plugins dont dépendent les projets TBX et RCP =====+WIP: 
 +Le but de cette installation est de lancer un TXM dans des conditions très proches d'une installation de TXM depuis un setup livrable. 
 +Cette installation du SDK n'est pas suffisante pour builder TXM + Babel.
  
-Pour installer les plugins, deux solutions ​: +Le SDK contient ​:
-  * soit besoin en amont de récupérer l'URL, depuis le site du provider du plugin +
-  * soit parmi le site d'​Eclipse correspondant à notre version (ex: Luna), et filtrer avec le nom de ce que l'on cherche (ex: "​SVN"​)+
  
-Dans le menu "​Help"​ > "​Install New Software"​ : +  * tout ce qui est nécessaire au fonctionnement de TXM (Core, RCP, CQP, R, etc). 
 +  * les extensions TXM 
 +  * les projets liés à la publication de TXM (doc, setup, update site, tests automatisés,​ etc.) 
 +  * des projets prototypes
  
-{{:prive:​eclipse_installplugins_svn.png?​width=600px|}}+Le SDK ne contient pas :
  
-Accepter la licence pour que l'installation se lance enfin+  * les JRE embarqués livrés avec TXM 
 +  * les packs de translations Babel d'Eclipse
  
-{{:​prive:​eclipse_installlicense.png?​width=600px|}} 
  
-Attendre la fin de l'​installation+==== 2.1) Eclipse et dépendances ====
  
-{{:​prive:​eclipse_installplugin.png?width=600px|}}+=== 2.1.1) Java ===
  
-^ Plugin ^ What's the use ^ Update Site ^ Site ^ Remarques ^ +Le SDK nécessite Java 1.8Les versions supérieures ne fonctionnent pas avec le SDK sans manipulations supplémentaires.
-| SVN | pour récupérer les projets TXM (URL du dépôt ?) | chercher "​SVN"​ parmi les plugin fournis directement avec Eclipse (ex: [[http://​download.eclipse.org/​releases/​luna]]) | [[https://​eclipse.org/​subversive/​installation-instructions.php|doc d'​installation pour Subversive]] | il faudra installer le connector SVN par la suite lors du premier checkout (connector : SVN 1.5) | +
-| JPA | pour la persistence dans TXM | chercher "​eclipselink"​ parmi les plugins fournis directement avec Eclipse [[http://​download.eclipse.org/​releases/​luna|Luna]]) | [[https://​www.eclipse.org/​eclipselink/#​documentation|doc]] | Sélectionner "​EclipseLink Target Components"​| +
-| Groovy | pour écrire des scripts | [[http://​dist.springsource.org/​release/​GRECLIPSE/​e4.4]] | [[https://​github.com/​groovy/​groovy-eclipse/​wiki]] | | +
-| eTools | couche de compatibilité eclipse 3.7 avec eclipse 4+ | [[http://​download.vogella.com/​luna/​e4tools]] | [[http://​e4tools.vogella.com]] ou voir [[http://​blog.vogella.com/​2014/​01/​21/​eclipse-e4-tools-update-site-for-kepler-and-luna/​| la page du blog sur le sujet]]| | +
-| GWT | pour développer le portail | [[https://​dl.google.com/​eclipse/​plugin/​4.4]] | [[https://​developers.google.com/​eclipse/​docs/​getting_started]] | |+
  
-Les étapes suivantes peuvent être zappées en utilisant une version TXM déjà préparé (voir la [[prive:​install_env_dev|page à propos du SDK]]). 
  
-===== Réglages d'​Eclipse =====+**🖝** vérifier la version de Java : 
 +  * Linux : <code bash>​java -version</​code>​
  
-  * API baseline: il faut régler un API baseline par défaut dans les préférences d'Eclipse +Si la version n'est pas la 1.8 :
-  * encodage des fichiers du workspace : UTF-8 +
-  * saut de ligne des fichiers ​unix+
  
-===== Récupérer les projets TXM depuis SVN =====+**🖝** installer Java 1.8 : 
 +  * Linux : <code bash>​sudo apt install openjdk-8-jdk</​code>​
  
-  * RCP et RCP feature : [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​RCP/​trunk]] (2 projets) 
-  * TBX : [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​Toolbox/​trunk/​org.textometrie.toolbox/​]] 
-  * groovy-all : [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​groovy-all]] librairies Groovy packagées pour le projet RCP 
-  * JFreeChart : [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​libs/​jfreechart]] librairies JFreeChart packagées pour le projet TBX 
-  * GWT (portail) : [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​WEB/​trunk/​org.txm.web]] 
-  * DOC : [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​doc]] 
  
-===== Récupérer le projet de construction des setups de TXM =====+**🖝** définir Java 1.8 par défaut s'il y a plusieurs versions d'​installées 
 +  * Linux : <code bash>​sudo update-alternatives --config java</​code>​ 
 +            
 +=== 2.1.1 bis) Eclipse ​===
  
-[[https://svn.code.sf.net/p/txm/code/trunk/installers]] organise les fichiers et propose des scripts Bash (Linux) pour construire les setups pour Linux 32bit, Linux 64bit, Windows 32bit, Windows 64bit et Mac OS X (64bit).+**🖝** installer Eclipse for RCP and RAP Developers 
 +  * version: Oxygen.3a Release (4.7.3a), 64bit 
 +  * url : https://www.eclipse.org/downloads/packages/release/oxygen/3a/​eclipse-rcp-and-rap-developers
  
-===== Récupérer les projets d'​extension pour TXM =====+=== 2.1.2) Depuis Eclipse, dans "Help > Install New Software" ​===
  
-Chaque sous-dossier de [[https://​svn.code.sf.net/​p/​txm/​code/​trunk/​plugins]] contient une extension constituée de 2 projets 
-  * le plugin RCP 
-  * la feature RCP (à ajouter au projet d'​update site) 
  
-Les extensions ne sont pas obligatoires pour développer dans TXM.+**🖝** installer les 2 outils Groovy "​Eclipse Groovy Development Tools" et "​Groovy Compiler 2.5" 
 +  * repository : "​http://​dist.springsource.org/​release/​GRECLIPSE/​e4.7"​ (à ajouter manuellement)
  
 +{{:​public:​txm_sdk..groovy.png?​800|}}
  
-===== Utiliser le JRE embarqué de TXM sous Eclipse ===== 
  
-Il est conseillé aux développeurs de TXM d'​utiliser le JRE dédié à sa configuration dans les projets Eclipse afin de développer dans le même environnement que la cible finale. +**🖝** installer "Dali Java Persistence Tools - EclipseLink JPA Support"​ 
-  * Télécharger le JRE dédié à votre architecture [[smb:ensldfs.ens-lyon.fr:services:​laboratoires:​labo_ana_corpus:​projets:​textometrie:​logiciel:​jvm]]Ce répertoire contient les JRE qui sont embarqués dans les différents builds/setups de TXM. Plus de détails ici : [[public:​jre_embedding|JRE embarqués]]+  * repository ​"​Oxygen ​http://​download.eclipse.org/releases/​oxygen"​
  
 +{{:​public:​txm_sdk..jpa.png?​800|}}
  
-===== Démarrer TXM depuis Eclipse ===== 
  
-  ​Ouvrir le fichier rcpapplication.product +**🖝** installer ​"Subversive SVN Teeam Provider
-  ​Sélectionner la flèche verte en haut à gauche +  * repository : "Oxygen - http://​download.eclipse.org/​releases/​oxygen"
-  ​Le 1er lancement échouera car l'​argument ​"-run" ​est absent +
-  * Ouvrir la fenêtre des configurations de lancement, menu "Run > Run configurations..." +
-  * Sélectionner la configuration "​rcpapplication.product"​ +
-    * plugins +
-    * argument "-run"+
  
-===== Démarrer TXM portail depuis Eclipse =====+{{:​public:​txm_sdk..svn.png?​800|}}
  
-Utiliser la configuration de lancement "Web application"​.+- une fois le plug-in SVN installé et Eclipse redémarré
  
-Modes de lancement : +**🖝** aller dans "​Window > Preferences > Team > SVN" onglet "SVN Connector"​ et cliquer sur le bouton "Get Connectors..."
-  ​Pour lancer en mode debug il faut utiliser le main : com.google.gwt.dev.DevMode +
-  ​Pour lancer en mode host il faut utiliser ​le main : com.google.gwt.dev.HostedMode+
  
-Pour rendre disponible l'​application sur le réseau local, il faut rajouter l'​argument de lancement ​-bindAddress (mon adresse locale)+{{:public:​txm_sdk..svn_connectors_1.png?​800|}}
  
-====== Installations de CQP et R ====== 
  
-Si TXM a été installé, cette section peut-être ignorée.+**🖝** installer SVN Kit 1.8.XX
  
-===== CQP =====+{{:​public:​txm_sdk..svn_connectors_2.png?​800|}}
  
-===== R =====+=== 2.1.3) Import des projets de TXM depuis le SVN ===
  
-Pour que TXM puisse utiliser ses fonctionnalités statistiques,​ il faut au préalable avoir : 
-  * installer R 
-  * installer les packages nécéssaires (voir le code R à exécuter ci-dessous) : Rserve, textometry, FactoMineR. 
-  * indiquer à TXM ou est installer R en modifiant les chemins de préférences avancées : TXM > Avancé > Moteur de statistiques 
-  * Redémarrer TXM (ou ses moteurs) depuis le menu Fichier. 
  
-<code R> +Durée : environ 20 minutes 
-# FactoMineR dependancy libs + 
-install.packages("MASS", dependencies=TRUE,​ repos="​http://​cran.rstudio.com/"​);​ +**🖝** aller dans "File > Import..." ​puis "Team > Team Project Set" 
-install.packages("nnet", dependencies=TRUE,​ repos="​http://​cran.rstudio.com/"​);​ + 
-install.packages("​car",​ dependencies=TRUE,​ repos="​http:​//cran.rstudio.com/"); +**🖝** sélectionner le mode par URL et renseigner ​"​http://​forge.cbp.ens-lyon.fr/svn/txm/tmp/org.txm.core.tests/projectSet.psf
-install.packages("​ellipse",​ dependencies=TRUE,​ repos="​http://cran.rstudio.com/"​);​ + 
-install.packages("leaps",​ dependencies=TRUE,​ repos="​http://​cran.rstudio.com/"​);​ +{{:public:​txm_sdk..import_projects_from_team_set.png?​800|}} 
-install.packages("lattice", dependencies=TRUE,​ repos="http://cran.rstudio.com/"​);​ + 
-install.packages("​cluster",​ dependencies=TRUE,​ repos="​http://​cran.rstudio.com/"​);​ +**🖝** une fois tous les projets importés, il doit y avoir 45 erreurs ​(et 3425 warnings) -> lancer un clean dans "Project > Clean..." ​puis "Clean all projects" 
-install.packages("​scatterplot3d",​ dependencies=TRUE,​ repos="​http://​cran.rstudio.com/"​);​ + 
-# libs directly used by TXM +**🖝** il doit rester 2 erreurs ​:<​code>​Description Resource Path Location Type 
-install.packages("​FactoMineR",​ dependencies=TRUE,​ repos="​http://​cran.rstudio.com/"​);​ +The project was not built since its build path is incompleteCannot find the class file for javafx.scene.SceneFix the build path then try building this project org.txm.backtomedia.rcp Unknown Java Problem 
-install.packages("​Rserve",​ dependencies=TRUE,​ repos="​http:/​/cran.rstudio.com/"​);​ +The type javafx.scene.Scene cannot be resolvedIt is indirectly referenced from required .class files JFXPlayer.java /org.txm.backtomedia.rcp/src/org/txm/backtomedia/editors/vlcplayer line 1 Java Problem
-#install.packages("​wordcloud",​ dependencies=TRUE,​ repos="​http:​//cran.rstudio.com/"); +
-install.packages("​textometry",​ dependencies=TRUE,​ repos="​http:​//cran.rstudio.com/"); +
-q() +
-y+
 </​code>​ </​code>​
 +
 +
 +===== 3) Lancer TXM =====
 +
 +==== 3.1) Configuration ====
 +
 +=== R ===
 +
 +== Linux ==
 +
 +**🖝** installer les dépendances de R : 
 +
 +<code bash>​sudo apt-get install libblas3 libgomp1 liblapack3 libpcre3 libgfortran3</​code>​
 +
 +**🖝** aller dans le répertoire [Eclipse Workspace]/​org.txm.statsengine.r.core.linux/​res/​linux64 et modifier les droits d'​exécution :
 +
 +<code bash>​chmod -R +x .</​code>​
 +
 +=== Création d'une configuration de base de lancement de TXM dans Eclipse ===
 +
 +**🖝** aller dans le projet "​org.txm.rcp"​ et ouvrir le fichier "​rcpapplication.product"​
 +
 +**🖝** lancer TXM depuis le bouton vert en forme de flèche "​Launch an Eclipse application"​ en haut à droite de l'​onglet
 +
 +{{:​public:​txm_sdk..launch_product.png?​1000|}}
 +
 +- TXM s'​amorce puis provoque une erreur
 +
 +{{:​public:​txm_sdk..launch_product_2.png?​600|}}
 +
 +- fermer la fenêtre d'​erreur
 +
 +=== Configuration des paramètres de lancement ===
 +
 +**🖝** aller dans le menu "Run > Run Configurations..."​
 +
 +**🖝** dans la configuration nommée "​rcpapplication.product"​ :
 +
 +**🖝** dans "​Arguments > Program arguments"​ ajouter à la fin et précédé d'un espace : -run
 +
 +{{:​public:​txm_sdk..launch_product_3.png?​800|}}
 +
 +==== 3.2) Lancement de TXM ====
 +
 +**🖝** dans "​Plug-ins"​ cliquer sur "Add Required Plug-ins"​ pour ajouter automatiquement à la configuration les plug-ins Eclipse nécessaires et cliquer sur "​Apply"​ puis "​Run"​
 +
 +{{:​public:​txm_sdk..launch_product_4.png?​800|}}
 +
 +L'​interface de TXM s'​ouvre :
 +
 +{{:​public:​sdk-txm-0.8.0-first-start.jpg?​800|}}
 +
 +==== 3.3) Chargement d'un corpus exemple ====
 +
 +TXM ne peut pas installer les corpus exemples directement,​ il lui manque l'​environnement d'​installation complet.
 +
 +Les corpus exemples sont situés dans [Eclipse Workspace]/​org.txm.setups/​shared/​all/​samples
 +
 +Installation manuelle du corpus VOEUX :
 +  * dans TXM, charger le fichier [Eclipse Workspace]/​org.txm.setups/​shared/​all/​samples/​VOEUX.txm avec la commande '​Fichier > Charger > un corpus binaire (.txm)...'​
 +
 +
 +
 +
 +
 +----------- WIP: ---------------------------------------
 +
 +4) Installations complémentaires
 +
 +--
 +
 +Ces étapes supplémentaires sont dédiées à pouvoir lancer TXM dans un état similaire à un setup (JRE embarqué, Babel translation pack).
 +Elles sont également destinées à pouvoir builder des setup de TXM.
 +NOTE : pour effectuer des commit sur le SVN de la Forge il faut avoir un compte.
 +--
 +
 +
 +4.1) JRE embarqué
 +
 +
 +4.2) Babel
 +
 +
 +4.3) RessourceBundle Editor (depuis Eclipse Marketplace)
 +
 +===== Build de setups & mises à jour =====
 +
 +==== Préparation de la machine ====
 +
 +=== Windows ===
 +
 +Installer Ubuntu WSL (Windows Subsystem for Linux) depuis le Microsoft Store : [[https://​ubuntu.com/​wsl]] et [[https://​aka.ms/​wslinstall]].
 +
 +Dans bash :
 +  * régler le mask par défaut à 0022 : %%umask 0022%%
 +
 +Effectuer les préparations Ubuntu suivantes.
 +
 +=== Ubuntu ===
 +
 +<​code>​
 +sudo apt install fakeroot
 +</​code>​
 +==== Récupérer les plugins RCP des architectures cibles ====
 +
 +Voir [[https://​wiki.eclipse.org/​A_Brief_Overview_of_Building_at_Eclipse#​Multi-platform_builds|A Brief Overview of Building at Eclipse]]
 +
 +  * Ouvrir les préférences
 +  * Editer le target platform dans "​Plugin Development > Target platform"​
 +    * sélectionner "​Running platform"​
 +    * cliquer sur le bouton ​ "​edit..."​
 +    * puis le bouton "​add.."​ de la boite nouvellement ouverte
 +    * sélectionner "​software site" puis "​Next"​
 +    * rentrer l'​update site des updates Eclipse Oxygen (4.7) : [[http://​download.eclipse.org/​eclipse/​updates/​4.7]]
 +    * décocher "​Include requiered software"​ et cocher "​Include all environment"​
 +    * sélectionner "​Eclipse RCP Target Components"​ et "​Equinox Target Components"​
 +    * finaliser
 +
 +==== TODO ====
 +
 +  * faire plusieurs Team Set Project ? un pour le core, un pour la RCP et un pour les extensions ?
 +  * Exporter les Working Set dans le Team Set Project
 +
 +Team Project Sets :
 +
 +  * Trunk : Core + RCP
 +  * Extensions
 +  * Prototypes
 +  * Publication (corpus, websites, doc, update sites, setups)
 +
 +Working Sets :
 +
 +  * org.txm.core
 +  * org.txm.rcp
 +  * org.txm.features
 +  * org.txm.libs
 +  * product + update sites + setups + doc +corpus + websites
 +  * Prototypes
 +
 +----------------------------------------------------------------------------------------------------------------------------------------------------
 +
 +
 +
 +===== Archive ======
 +
 +  * [[prep_e,​v_dev_man_old|ancienne version du tutoriel d'​installation de l'​environnement de développement]]
public/preparation_env_dev_manuel.1550237734.txt.gz · Dernière modification: 2019/02/15 14:35 par matthieu.decorde@ens-lyon.fr