Eclipse
Prérequis
- Installer Maven
- Installer Git
- Configurer ses clés ssh pour stash et git ()
- Récupérer le jdk correspondant
- Récupérer les sources de BlueMind tel que décrit dans la page Contribuer à BlueMind
Penser à vérifier lors de l'ouverture de session qu'on est bien sur Ubuntu Xorg (cela peut provoquer des rachs Eclipse sinon).
Installer Git
Générer la clé ssh locale avec son adresse mail
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Copier ensuite la clé générée
cat ~/.ssh/id_ed25519.pub
Et l'ajouter dans votre profil git (et stash si utilisé)
Installation
Télécharger et installer la version d'Eclipse pour développeurs RCP et RAP.
Configuration
Configuration du lancement
Ajouter un raccourci pour Eclipse dans votre /home/USER/.local/share/applications/
tel que définit ci-après. Penser à changer USER
par votre nom d'utilisateur.
cat /home/USER/.local/share/applications/_home_USER_eclipse_.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/home/USER/bin/eclipse.sh %u
Icon=/home/USER/eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Type=Application
StartupNotify=true
StartupWMClass=Eclipse
Terminal=0
MimeType=x-scheme-handler/eclipse+command;x-scheme-handler/eclipse+mpc;
Créer un fichier eclipse.sh
dans votre home tel que définit ci-après. Penser à changer USER
par votre nom d'utilisateur.
cat /home/USER/bin/eclipse.sh
#!/bin/sh
export WEBKIT_DISABLE_COMPOSITING_MODE=1
/home/USER/eclipse/eclipse -vm /usr/lib/jvm/java-1.21.0-openjdk-amd64/bin/java
Dans votre repository local, il faut créer un .envrc
qui contiendra la conf locale. Il faut mettre les chemins vers le jdk et vers le maven que vous avez installé. Penser à changer USER
par votre nom d'utilisateur.
cat /home/USER/local/bluemind-all/.envrc
branch=$(git rev-parse --abbrev-ref HEAD)
branch=$(echo $branch | sed 's,/,_,')
unset _JAVA_OPTIONS
#export MAVEN_OPTS="-Dmaven.repo.local=/home/USER/.m2/${branch}"
export MAVEN_OPTS="-Dmaven.repo.local=/home/USER/.m2/master"
export JAVA_HOME=/usr/lib/jvm/jdk-21.0.3
export PATH=/usr/local/apache-maven-3.9.7/bin:/usr/lib/jvm/jdk-21.0.3/bin:$PATH
Afin que cette conf soit prise en compte, on utilise direnv. Mettre à jour votre .bashrc pour y ajouter cette ligne :
eval "$(direnv hook bash)
Dans votre Eclipse :
- Ouvrir Window -> Preferences
- Rechercher Installeds JREs
- Dans la liste, sélectionner le jdk, faire Edit...
- Dans le champ Default VM arguments ajouter la ligne suivante
--add-modules java.se --illegal-access=permit --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.base/jdk.internal.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED -Djava.net.preferIPv4Stack=true -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:StartFlightRecording=delay=2s,settings=profile,dumponexit=true
Ajout d'une plateforme d'exécution
La plateforme d'exécution Eclipse doit-être complétée avec les dépendances de BlueMind :
- démarrer et initialiser un workspace en utilisant la version d'Eclipse que vous souhaitez utiliser pour développer (par exemple Eclipse Mars installé précédemment)
- aller dans Window->Preferences, chercher Target
- cliquer sur Target Platform
- cliquer sur Add, choisir Nothing option, cliquer sur Next
- indiquer un nom (ex: BlueMind 5)
- cliquer sur le bouton Add, choisir Software Site, puis cliquer sur Next
- dans le champ «Work with», indiquer http://forge.blue-mind.net/staging/p2/dependencies et pointer vers la version la plus récente
- Au bas de la fenêtre décocher «Group by category» et «Include required software»
- dans la liste mise à jour, cocher Feature :
- cliquer sur Finish
- s'assurer que la nouvelle plateforme est bien sélectionnée et cliquer sur Apply puis OK pour quitter :
Configuration
Formatage
Afin d'utiliser un formatage du code uniforme, dans Eclipse:
- aller dans Window, puis Preference
- chercher Save Actions, cliquer sur Java->Editor->Save Actions
- cocher Perform the selected actions on save
- cocher Format source code, sélectionner Format all lines
- cocher Organize imports
- cliquer sur Apply, puis OK
En-têtes
Il est important que les fichiers sources aient les en-têtes conformes. Dans Eclipse:
- aller dans Window, puis Preference
- chercher Template, cliquer sur Java->Code Style->Code Template
- déplier le menu Code, cliquer sur New Java files
- cliquer sur Edit
- dans la partie Pattern, mettre:
Pattern New Java file
/\* BEGIN LICENSE
\* Copyright © Blue Mind SAS, 2012-${year}
\*
\* This file is part of BlueMind. BlueMind is a messaging and collaborative
\* solution.
\*
\* This program is free software; you can redistribute it and/or modify
\* it under the terms of either the GNU Affero General Public License as
\* published by the Free Software Foundation (version 3 of the License).
\*
\* This program is distributed in the hope that it will be useful,
\* but WITHOUT ANY WARRANTY; without even the implied warranty of
\* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
\*
\* See LICENSE.txt
\* END LICENSE
\*/
${filecomment}
${package_declaration}
${typecomment}
${type_declaration} - cliquer sur OK
- cliquer sur Apply, puis OK
Initialisation du workspace Eclipse
"Package explorer"
Avant d'importer les plugins, il est important que la vue que vous utiliserez pour parcourir les plugins soit "Package explorer" (pour des raisons de performance).
Pour l'ouvrir :
- Allez dans Window / Show View
- Si elle n'apparait pas dans cet écran, cliquez sur "Other" et vous la trouverez dans la catégorie "Java"
- Fermer les autres vues permettant de lister les plugins type "Project Explorer" ou "Plugins ..."
Import des plugins
Dans Eclipse
- aller dans File, menu Import
- déplier General, sélectionner Existing projects into Workspace
- cliquer sur Next
- cocher Select root directory, cliquer sur Browse
- sélectionner le dossier open du git de BlueMind, cliquer sur OK
- si vous ne voyez qu'un projet dans la liste Projects, nettoyer le git. Se placer dans le répertoire racine du git de BlueMind exécuter: git clean -f -d -n -x, puis recommencer à l'étape 1
- sinon, cliquer sur Finish
- refaire l'opération pour le répertoire closed du git de BlueMind
Build maven
Il est nécessaire de faire un build maven:
- dans un terminal, aller dans le répertoire open du git de BlueMind
- lancer la commande: mvn -Dmaven.test.skip=true clean install
- faire pareil dans le répertoire open/ui/gwt-libs/
- dans Eclipse, sélectionner tous les packages et appuyer sur F5 (Refresh)