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 [2020/01/08 10:36]
sebastien.jacquot@univ-fcomte.fr [Téléchargements]
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 =====
  
 +Taille du SDK : environ 2Go
  
 +  * système 64bit
 +  * Linux : Ubuntu 18.04
 +  * Windows : Windows 7
 +  * Mac OS X : 
  
 +===== 2) Installation minimale =====
  
 +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.
  
-Eclipse for RCP and RAP Developers+Le SDK contient :
  
-Version: Oxygen.3a Release ​(4.7.3a)+  * 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
  
-===== Manipulations de fichiers =====+Le SDK ne contient pas :
  
-  * Extraire Eclipse, Babel et DeltaPack dans %%$HOME/​Eclipse%%, ​les dossiers "​eclipse",​ "​eclipse_babel"​ et "​eclipse_deltapack"​ ont été créés +  * les JRE embarqués livrés avec TXM 
-  * Lancer Eclipse +  * les packs de translations Babel d'​Eclipse
-  * 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"​+
  
-{{:​prive:​eclipse_preferences_addtargetsbabeldeltapack.png|}} 
  
-===== Installer les plugins dont dépendent les projets TBX et RCP =====+==== 2.1) Eclipse ​et dépendances ​====
  
-Pour installer les plugins, deux solutions : +=== 2.1.1Java ===
-  * 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"​ : +Le SDK nécessite Java 1.8. Les versions supérieures ne fonctionnent pas avec le SDK sans manipulations supplémentaires.
  
-{{:​prive:​eclipse_installplugins_svn.png?​width=600px|}} 
  
-Accepter ​la licence pour que l'​installation se lance enfin+**🖝** vérifier ​la version de Java : 
 +  * Linux : <code bash>​java -version</​code>​
  
-{{:prive:​eclipse_installlicense.png?​width=600px|}}+Si la version n'est pas la 1.8 :
  
-Attendre la fin de l'​installation+**🖝** installer Java 1.8 : 
 +  * Linux : <code bash>​sudo apt install openjdk-8-jdk</​code>​
  
-{{:​prive:​eclipse_installplugin.png?​width=600px|}} 
  
-^ Plugin ^ What's the use ^ Update Site ^ Site ^ Remarques ^ +**🖝** définir Java 1.8 par défaut s'il y a plusieurs versions ​d'installées 
-| 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) | +  * Linux <code bash>​sudo ​update-alternatives ​--config java</code> 
-| 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]] | | +=== 2.1.1 bis) Eclipse ​===
-| 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]] | Il ne faut installer que le compiler utilisé par TXM sinon Eclipse ​Oxygen ne démarre pas correctement (bug hot swapping) -> VERSION 2.5|+
  
-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]]).+**🖝** 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églages d'Eclipse ​=====+=== 2.1.2) Depuis ​Eclipse, dans "Help > Install New Software" ​===
  
-  * API baseline: il faut régler un API baseline par défaut dans les préférences d'​Eclipse 
-  * encodage des fichiers du workspace : UTF-8 
-  * saut de ligne des fichiers : unix 
  
-===== Récupérer ​les projets TXM depuis SVN =====+**🖝** 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)
  
-  * RCP et RCP feature ​[[https://svn.code.sf.net/​p/​txm/​code/​trunk/​RCP/​trunk]] (2 projets) +{{:public:txm_sdk..groovy.png?800|}}
-  * 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 ===== 
  
-[[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 "Dali Java Persistence Tools - EclipseLink JPA Support"​ 
 +  * repository : "​Oxygen - http://download.eclipse.org/releases/oxygen"​
  
-===== Récupérer les projets d'​extension pour TXM =====+{{:​public:​txm_sdk..jpa.png?​800|}}
  
-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 "​Subversive SVN Teeam Provider"​ 
 +  * repository : "​Oxygen - http://​download.eclipse.org/​releases/​oxygen"​
  
 +{{:​public:​txm_sdk..svn.png?​800|}}
  
-===== Utiliser ​le JRE embarqué de TXM sous Eclipse ​=====+- une fois le plug-in SVN installé et Eclipse ​redémarré
  
-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. +**🖝** aller dans "​Window > Preferences > Team > SVN" onglet "SVN Connector"​ et cliquer sur le bouton "Get Connectors..."
-  * 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 TXMPlus de détails ici : [[public:​jre_embedding|JRE embarqués]]+
  
 +{{:​public:​txm_sdk..svn_connectors_1.png?​800|}}
  
-===== Démarrer TXM depuis Eclipse ===== 
  
-  ​Ouvrir le fichier rcpapplication.product +**🖝** installer SVN Kit 1.8.XX
-  ​Sélectionner la flèche verte en haut à gauche +
-  ​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_connectors_2.png?​800|}}
  
-Utiliser la configuration de lancement "Web application"​.+=== 2.1.3) Import des projets de TXM depuis le SVN ===
  
-Modes de lancement : 
-  * 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)+Durée ​environ 20 minutes
  
-====== Installations de CQP et R ======+**🖝** aller dans "File > Import..."​ puis "Team > Team Project Set"
  
-Si TXM a été installé, cette section peut-être ignorée.+**🖝** sélectionner le mode par URL et renseigner "​http://​forge.cbp.ens-lyon.fr/​svn/​txm/​tmp/​org.txm.core.tests/​projectSet.psf"
  
-===== CQP =====+{{:​public:​txm_sdk..import_projects_from_team_set.png?​800|}}
  
-===== R =====+**🖝** 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"​
  
-Pour que TXM puisse utiliser ses fonctionnalités statistiques,​ il faut au préalable avoir : +**🖝** il doit rester 2 erreurs ​:<code>Description Resource Path Location Type 
-  ​installer R +The project was not built since its build path is incompleteCannot find the class file for javafx.scene.Scene. Fix the build path then try building this project org.txm.backtomedia.rcp Unknown Java Problem 
-  ​installer les packages nécéssaires (voir le code R à exécuter ci-dessous) : Rserve, textometry, FactoMineR. +The type javafx.scene.Scene cannot be resolved. It is indirectly referenced from required .class files JFXPlayer.java /​org.txm.backtomedia.rcp/​src/​org/​txm/​backtomedia/​editors/​vlcplayer line 1 Java Problem 
-  ​indiquer à TXM ou est installer R en modifiant les chemins de préférences avancées ​TXM Avancé > Moteur de statistiques +</​code>​
-  * Redémarrer TXM (ou ses moteurs) depuis le menu Fichier.+
  
-<code R> + 
-# FactoMineR dependancy libs +===== 3) Lancer TXM ===== 
-install.packages("​MASS",​ dependencies=TRUE, repos="​http://​cran.rstudio.com/"​); + 
-install.packages("​nnet",​ dependencies=TRUE, repos="http://cran.rstudio.com/"); +==== 3.1Configuration ==== 
-install.packages("​car",​ dependencies=TRUE, repos="http://cran.rstudio.com/"); + 
-install.packages("ellipse", dependencies=TRUE,​ repos="http://cran.rstudio.com/"​);​ +=== R === 
-install.packages("​leaps",​ dependencies=TRUE, repos="http://cran.rstudio.com/"); + 
-install.packages("lattice", dependencies=TRUE,​ repos="http://cran.rstudio.com/"​);​ +== Linux == 
-install.packages("​cluster",​ dependencies=TRUE, repos="​http://​cran.rstudio.com/"​); + 
-install.packages("scatterplot3d", dependencies=TRUE,​ repos="http://cran.rstudio.com/"​);​ +**🖝** installer les dépendances de R  
-# libs directly used by TXM + 
-install.packages("​FactoMineR",​ dependencies=TRUE, repos="​http:/​/cran.rstudio.com/"); +<code bash>​sudo apt-get install libblas3 libgomp1 liblapack3 libpcre3 libgfortran3<​/code> 
-install.packages("​Rserve",​ dependencies=TRUE,​ repos="​http://cran.rstudio.com/")+ 
-#install.packages("​wordcloud"​dependencies=TRUE,​ repos="​http://cran.rstudio.com/"); +**🖝** aller dans le répertoire [Eclipse Workspace]/org.txm.statsengine.r.core.linux/res/linux64 et modifier les droits d'​exécution : 
-install.packages("​textometry",​ dependencies=TRUE, repos="http://cran.rstudio.com/"); + 
-q() +<code bash>​chmod -R +x .</​code>​ 
-y+ 
 +=== 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.2Lancement 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.1JRE 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>​ </​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.1578476186.txt.gz · Dernière modification: 2020/01/08 10:36 par sebastien.jacquot@univ-fcomte.fr