JMRI: Building with Eclipse
Author: Bob Jacobsen
Keywords: JMRI technical code Eclipse

# JMRI: Construction avec Eclipse

Eclipse (disponible à www.eclipse.org ) fait une excellente plate-forme pour travailler avec JMRI.

Eclipse est un environnement complexe. Si vous êtes déjà familier avec les IDEs comme Microsoft Visual Studio, il ne sera pas trop difficile de s'y habituer, mais il vaut vraiment la peine d'acheter un manuel (par exemple Le guide du développeur Java pour Eclipse ).

Les développeurs JMRI utilisent Git pour le contrôle de la source. Le contrôle de la source utilisant Git est inclus comme un élément lors du téléchargement Eclipse "Luna".Pour plus d'information ou une methode alternative pour obtenir la source JMRI, voir JMRI: Obtention du Code.

Ces instructions ont été développées et testées avec "Eclipse IDE for Java Developers" "Luna Service Release 1a (4.4.1)".

Noter également que, au moment de la rédaction de ce document d'aide que JMRI nécessite JAVA version 8. Vous devez confirmer que JRE 8 est le Java Runtime Environment par défaut. Eclipse recommande l'installation de la parution Luna pour Java 8, mais il existe des solutions de contournement décrites en ligne.

## Obtention de la Source JMRI en utilisant Git

Pour obtenir le code source depuis GitHub en utilisant Git, vous devez faire ce qui suit:

1. Aller à GitHub.com et créer un compte.
2. Ensuite ouvrir Eclipse
3. Depuis la barre de menu principale sélectionnez "File" puis "Import..."
4. Cliquez sur "Git" puis Project from Git" puis le bouton "Next".
5. Maintenant sélectionnez le référentiel source en cliquant sur "Clone URI". L'écran Source Git Repository doit apparaître.

1. Sélectionnez les branches que vous voulez installer. Si vous n'êtes pas sûr des branches dont vous avez besoin, sélectionnez juste la branche "master"0. Cette branche contient le tout dernier code pour JMRI.
2. Cliquez le bouton "Next" et l'écran Local Destination doit apparaître.
3. Appuyez sur le bouton "Next" si la destination locale vous convient.

Après que le téléchargement est terminé l'Eclipse Package Explorer devrait ressembler à ceci:

Quand le téléchargement est terminé, Eclipse rapportera une erreur: Projet "jmri" est manquant dossier source nécessaire: "java/tmp". Ceci peut être corrigé en exécutant une construction Ant comme décrit plus bas

## Construire et exécuter JMRI en utilisant Ant

Nous recommandons que avant d'essayer et de construire et d'exécuter l'un des applications au sein d'Eclipse que vous exécutiez le build.xml de Ant au sein d'Eclipse. Ce sera de créer les répertoires nécessaires, charger quelques ressources icônes, et créer des fichiers Java nécessaires à l'aide de JavaCC. Pour exécuter le build.xml de Ant vous devez faire ce qui suit:

1. Ant nécessite un JDK (Java Development Kit) afin d'exécuter le fichier fourni "build.xml". Le téléchargement d'Eclipse n'inclut pas un JDK, vous devez télécharger et installer un JDK, puis configurer Ant pour utiliser le JDK.
2. Voici un lien pour le site Oracle site qui vous fournira un JDK:

   http://www.oracle.com/technetwork/java/javase/ downloads/index.html

3. Sélectionnez le fichier build.xml à l'aide de Package Explorer, puis cliquez-droit et un menu devrait apparaître.
4. Maintenant, sélectionnez "Run As" puis "2 Ant Build".
5. Assurez-vous que sous l'onglet Menu JRE vous avez sélectionné un JDK et non un JRE.
6. Maintenant, appuyez sur le bouton "Exécuter", ce qui devrait commencer le "Ant build" .

Si la construction de Ant échoue, il est plus probable parce que vous ayez besoin d'un JDK (Java Development Kit) plutôt que d'un JRE (Java Runtime Environment) qui est la valeur par défaut. Pour modifier le JRE, sélectionnez "Run as" "2 Ant Build" et une nouvelle fenêtre devrait apparaître. Sélectionnez l'onglet "JRE". Le changement de JRE, sélectionnez le bouton radio "Separate JRE:" , puis appuyez sur le bouton "JRE installés" Si vous ne voyez pas un JDK, vous devez en ajouter un.( depuis le site ci-dessus )

Si la construction de Ant réussit,vous pouvez maintenant lancer une des applications JMRI de ant, et créer un fichier jmri.jar si vous le souhaitez. Utilisez la fonction "2 Ant Build" et dans la fenêtre, sélectionnez l'onglet "Targets", et utiliser la case appropriée pour générer ce que vous voulez.

## Construire et exécuter JMRI en utilisant Eclipse

Après avoir terminé la construction de Ant comme décrit ci-dessus, vous devez actualiser le répertoire jmri. Faites un clic droit sur le nom du répertoire jmri et sélectionnez "Refresh". L'opération de régénération doit déclencher une construction de l'espace de travail et la construction devrait se terminer sans erreur..

Pour exécuter une application faire comme suit:

1. Vous devez vérifier que le niveau de conformité du compilateur est réglé sur Java 1.8. sélectionné dans la barre principale de comande "Window->Preferences" puis sélectionnez "Java-> Compiler"
2. Depuis le menu "Run", séelectionnez "Run Configurations..." Nous allons utiliser la fenêtre qui s'ouvre pour Configurer les programme (s) à exécuter. (Si le menu Exécuter n'a pas d' entrée "Run Configurations ...", assurez-vous que vous avez sélectionné le répertoire java dans le volet de navigation ci-dessus-les menus Eclipsesont sensibles au contexte) )
3. Sur le côté gauche, mise en évidence de "l'application Java", puis appuyez sur l'icône "New" au-dessus. L'icône ressemble à un document avec un signe plus sur la partie supérieure droite..
4. Vous devriez maintenant avoir un nouvel onglet "Main" en surbrillance. Au-dessus ceci, remplacer "New_configuration" par "DecoderPro". Ci-dessous, entrez "jmri" (minuscules importante) pour "Project" et "apps.DecoderPro.DecoderPro" for "Main class:".
5. Sélectionnez l'onglet "Arguments", et sous les arguments VM entrer ( Vous devriez probablement couper et coller ):

       -Xms10m
       -Xmx300m
       -Djava.security.policy=lib/security.policy
       -Dapple.laf.useScreenMenuBar=true

   Si vous utilisez un système Windows 32 bits ajouter le chemin de la bibliothèque:

       -Djava.library.path=.;lib;lib/windows/x86

   Notez que si vous utilisez un système Windows 64 bits modifier le chemin de la bibliothèque pour:

       -Djava.library.path=.;lib;lib/windows/x64

6. En option, sélectionnez l'onglet "Common", la section"Display in favorites menu", cochez les cases à côté de "Run" et "Debug"
7. Si vous souhaitez créer des objectifs pour rendre facile l'exécution de PanelPro et AllTests, répétez les étapes ci-dessus pour créer un nouveau "Java Application" sauf spécification "apps.PanelPro.PanelPro" et "apps.tests.AllTest" respectivement..
8. Cliquez sur "Apply" puis "Close" (Vous pouvez cliquer sur "Run" à ce stade, mais nous avons un peu plus à faire
9. Vous devriez maintenant être de retour à votre vue du navigateur habituel Eclipse, où la plupart des travaux de développement se font. Pour voir notamment java, développez le dossier "java" à gauche, puis le dossier "src", naviguer vers le fichier que vous souhaitez.
10. Pour exécuter DecoderPro, sélectionnez la rubrique "Run History" dans le menu "Run" . Une fois que vous avez fait cela une fois, il vous suffit de cliquer sur l'icône "Run" dans la barre d'outils pour relancer le dernier programme.

## Installation de JavaCC Plugin ( Comme alternative à exécuter Ant Build procédé ci-dessus )

Au lieu d'utliser la consruction ant porur pour remplir le répertoire "tmp", vous pouvez, installer le plugin JavaCC. Voici les étapres:

1. Téléchargez le plugin Eclipse JavaCC suivant les instructions trouvées ici: http://eclipse-javacc.sourceforge.net
2. Après redémarrage d'Eclipse, clic,droit sur le répertoire java dans Project Explorer ou Navigator et sélectionnez JavaCC Options:
3. Sur l'onglet JavaCC Options, entrez le répertoire de sortie a être java/tmp/jmri/jmris/srcp/parser
4. Sur la page options JavaCC, entrez le répertoire de sortie a être java/tmp/jmri/jmris/srcp/parser
5. Confirmez que le" Java Build Path" inclut le répertoire tmp ( voir Propriétés Projet )

## Pousser des changements dans votre branche GitHub

La pratique standard pour obtenir que vos changements soient inclus dans Le code du référentiel princial JMRI est de les proposer périodiquement dans votre répertoire local puis lorsque vous êtes prêt à publier, proposez" toute une série de changements surle répertoire vous appartenant à GitHub et finalement demandez que quelqu'un mettent vos changements dans le référentiel principal JMRI Voir: JMRI: Git FAQ "Paramétrage d'un environnement Git pour les Développeurs JMRI" pour plus d'information.

Il est également une bonne pratique de "tirer" tous les changements récents du principal référentiel JMRI avant d'effectuer vos propositions. Après un "pull" de votre espace de travail et, éventuellement, votre dépôt GitHub à distance sera en synchronisation avec le principal référentiel JMRI. Pour effectuer un «pull», sélectionnez votre projet, le "Team" puis "Pull" dans le menu.

Si vous voulez voir quels fichiers vont être modifiés avant le "Pull" vous pouvez usitiliser la fonctionnalité "Team Synchronizing". Pour le faire clic-droit sur votre projet, le "Team Synchronizing" puis "Synchronise Wokspace"

Poussée vers votre branche GitHub:

- Premièrement, soumettez votre changement sur le répertoire sur votre ordinateur.
- Pour soumettre un jeu de changement, clic-droit sur le projet auquel vous voulez soumettre; et sélectionner "Team" suivi par "Commit". Entrez un message de soumission et sélectionnés le fichier ou vous voulez soumettre.
- Ensuite "push" un jeu de changement depuis votre répertoire local que vos voulez soumissionner, et sélectionnez "Team" suivit par "Commit". Entrer un messages et sélectionner les fichiers que vouis voulez soumisionner.
- Ensuite, "push" un jeu de changements depuis votre répertoire local vers votre répertoire sir GitHub ( vous faites ceci pour que les autres puissent y accéder et récupérer pour l'inclusion dans JMRI)
  Avant que vous puissiez poussez vos changement vers GitHub pour lz première fois, vous devez créer votre propre répertoire Git Hub ( que vous avez fait ci-dessus ) et "fork" le référentiel JMRI. Connectez-vous à votre compte à GitHub.com et naviquez ensuite dans le répertoire JMRI https://github.com/JMRI/JMRI Dans le coin supérieure Droit de la page, vous trouverez un bouton libelé "Fork". Appuyez sur ce bouton pour créer votre propre répertoire source JMRI
  Pour pousser dans votre Répertoire gITμhB, sélectionnez encore "Team et ensuite "Remote" pius "Configure puish ro Upstream". Dans la fenêtre 'Cobfigure Puss", cliquezsur "Push URIs" et ensuite le bouton "Add". dans la fenêtre "New URI, entrez l'URL de votre Répertoire GitHub ainsi que votre nom d'utilisateur et mot de passe. Après appuyez sur "Finish" la fenêtre "Configure Push" devrait ressembler à l'image ci-dessous:
  Presser soit le bouton "Save and Push" ou "Save". Plus tard quand vous voudrez pousser de nouveau changements dans votr répertoire sur GitHub, vous pourrez simplement les soummisionner comme décrit ci-dessus, et ensuite utliser l'icône Push sur la fenêtre de Synchronisation0
- Finalement, soumettre un "Pull Request" à un référentiel principal de code JMRI sur le site web Git HuB
  Pour faire ceci, démarrer par vous identifier sur GitHub web site, sélecion de votre répertoire et cliquer le bouton Pull Request. Pour plus d'infon voir les instructions développées,

## Erreurs de Compilation et Avertissements

La configuration par défaut du Compilateur Eclipse génère de nombreux avertissements inutiles. Vous pouvez ajuster les avertissements pour les faire correspondre aux captures d'écran ci-dessous en allant à Window-> Preferences et sélectionnez "Java-> Complier-> Errors/Warnings"