Configurer Eclipse

Suivez ces étapes pour configurer Tradefed à l'aide d'Eclipse.

Créez un espace de travail distinct pour développer Trade Federation. Ne réutilisez pas un espace de travail déjà utilisé pour le développement d'appareils Android.

Si nécessaire, vous pouvez télécharger l'IDE Eclipse pour les développeurs Java sur la page eclipse.org/downloads.

Créer des projets

  1. Exécutez make une fois à partir de la ligne de commande. Cela permet de compiler les bibliothèques externes sur lesquelles les projets ci-dessous dépendent.
  2. Définissez la variable classpath TRADEFED_ROOT dans Window > Preferences > Java > Build Path> Classpath Variables et faites-la pointer vers la racine source de votre échanges
  3. Définissez la variable de chemin TRADEFED_ROOT dans Window > Preferences > General > Workspace > Linked Resources et faites-la pointer vers la racine source échangée
  4. Utilisez l'assistant File > Import...-> General > Existing Projects into workspace" pour importer ces projets Java Open Source sous les chemins d'accès suivants:

    prebuilts/misc/common/ddmlib\*
    tools/loganalysis
    tools/loganalysis/tests
    tools/tradefederation/core
    tools/tradefederation/core/tests
    tools/tradefederation/contrib
    tools/tradefederation/core/remote
    platform_testing/libraries/health/runners/longevity/host
    platform_testing/libraries/annotations
    platform_testing/libraries/health/composers/host
    
  5. Si vous souhaitez afficher le code source ddmlib, joignez le code source à partir d'une branche d'outils sans bundle, telle que /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. Si vous souhaitez également charger les projets de faisceau CTS, importez les éléments suivants:

    test/suite_harness/common/util
    test/suite_harness/common/host-side/util
    test/suite_harness/common/host-side/tradefed
    

Format automatique

REMARQUE: Les fichiers requis sont stockés dans development/ide/eclipse dans l'arborescence source complète de la plate-forme. Vous devez donc consulter une branche de plate-forme telle que main pour obtenir ces fichiers : /development/main/ide/eclipse/

Utilisez des fichiers de préférences dans Eclipse pour définir automatiquement l'outil de mise en forme sur le guide de style Android. Pour ce faire dans Studio:

  1. Accédez à Window > Preferences > Java > Code Style (Fenêtre > Préférences > Java > Style de code).
  2. Sous Formateur, importez le fichier android-formatting.xml.
  3. Sous Organiser > Importations, importez le fichier android.importorder.

Supprimer les espaces blancs de fin

Pour forcer Eclipse à supprimer tous les espaces en fin de ligne:

  1. Accédez à Window > Preferences -> Java -> Editor -> Save Actions (Fenêtre > Préférences > Java > Éditeur > Enregistrer les actions).
  2. Accédez ensuite à Actions supplémentaires -> Configurer -> Code -> Onglet "Organisation" -> Formateur.
  3. Cochez Supprimer les espaces vides à la fin.
  4. Cliquez sur Appliquer et fermer.

Vérifier le style du code

Lorsque vous envoyez une liste de modifications, un hook de préchargement automatique s'exécute pour vérifier le format de votre code: google-java-format

Cela facilite le formatage de votre code selon la norme courante.

Déboguer Eclipse

Si vous souhaitez exécuter du code TF via un débogueur dans Eclipse, nous vous recommandons de créer d'abord un test unitaire pour le code en question, car il s'agit du moyen le plus simple et le plus rapide d'exercer la fonctionnalité.

Pour déboguer un test unitaire TF, effectuez un clic droit dessus, puis sélectionnez Debug As > JUnit test (Déboguer en tant que > Test JUnit).

Pour déboguer un test fonctionnel TF, suivez les instructions de la section précédente afin d'exécuter un test fonctionnel, mais utilisez le menu Run > Debug configurations (Exécuter > Configurations de débogage).

Pour déboguer le programme TF lui-même, lorsque vous exécutez une configuration, suivez les instructions de la section précédente pour exécuter un test fonctionnel, mais fournissez les arguments de ligne de commande pour la configuration que vous souhaitez exécuter à l'étape 4. Pour déboguer la configuration "instrument", accédez au menu Run > Debug configuration (Exécuter > Configuration de débogage), puis définissez l'onglet Arguments dans la configuration de débogage Eclipse sur -- package <package to run> instrument.

Débogage à distance avec Eclipse

Pour déboguer à distance une session de tradefed lancée à partir de la ligne de commande tradefed.sh, procédez comme suit:

  1. Démarrez tradefed.sh avec l'indicateur de débogage: TF_DEBUG=1 tradefed.sh
  2. Attendez que l'invite suivante de la JVM s'affiche: Listening for transport dt_socket at address: 10088. Cela signifie que la JVM attend que le débogueur s'associe au port 10088.
  3. Associer avec le débogage à distance d'Eclipse à partir du menu principal: sélectionnez Run > Debug Configurations (Exécuter > Configurations de débogage).
  4. Dans la boîte de dialogue qui s'affiche, sélectionnez Application Java distante dans le menu de gauche.
  5. Cliquez sur l'icône New launch configuration (Nouvelle configuration de lancement) dans la barre d'action.
  6. Nommez la configuration comme vous le souhaitez et sélectionnez tradefederation comme projet.
  7. Renseignez le port à l'aide de l'adresse fournie précédemment.
  8. Passez à l'onglet Source et ajoutez les projets tradefederation et google-tradefed au chemin de recherche source.
  9. Cliquez sur Debug (Déboguer) pour démarrer la session de débogage.

Le débogueur se connecte au processus JVM en écoute, et le terminal exécutant tradefed.sh affiche l'invite tf>.

Pour parcourir votre code en mode débogage, définissez un point d'arrêt dans Eclipse et appelez votre commande Tradefed (par exemple, run <test>) dans le terminal. Pour déboguer tout problème au démarrage de TF, vous pouvez d'abord définir le point d'arrêt, puis associer le débogueur Eclipse.

CONSEIL: Pour utiliser un autre port, ajoutez TF_DEBUG_PORT=nnn à la commande de l'étape 1 ci-dessus. Vous pouvez même l'utiliser dans l'environnement de production si vous devez examiner des bugs de blocage mystérieux: remplacez suspend=y par suspend=n dans tradefed.sh et commencez par l'indicateur de débogage. La JVM n'attend pas que le débogueur soit associé, mais vous pouvez le faire à tout moment tant que le processus est en cours d'exécution.

Débogage à distance à l'aide de JDB

Pour utiliser le débogueur Java JDB, suivez des étapes semblables à celles d'Eclipse:

  1. Démarrez tradefed.sh avec l'indicateur de débogage: TF_DEBUG=1 tradefed.sh
  2. Attendez que l'invite JVM suivante s'affiche: Listening for transport dt_socket at address: 10088.
  3. Associer jdb. Par exemple, à partir de croot:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Attendez la connexion et lancez le débogage. Exécutez man jdb pour obtenir de l'aide.

Examiner la couverture de code

  1. Installez le plug-in Eclemma.
  2. Accédez à Help > Install New Software (Aide > Installer un nouveau logiciel) et pointez l'assistant vers la page suivante : http://update.eclemma.org/
  3. Une fois installé, sélectionnez l'option de test Coverage As > JUnit (Couverture en tant que > JUnit) pour effectuer une analyse de la couverture du code.