הגדרת Eclipse

יש לפעול לפי השלבים הבאים כדי להגדיר את מערכת המסחר האלקטרוני באמצעות Eclipse.

יוצרים סביבת עבודה נפרדת לפיתוח Trade Federation, ולא משתמשים שוב בסביבת עבודה שכבר משמשת לפיתוח של מכשירי Android.

במקרה הצורך, אפשר להוריד את Eclipse IDE למפתחי Java בכתובת: eclipse.org/downloads

יצירת פרויקטים

  1. מריצים את make פעם אחת משורת הפקודה. כך תיצור ספריות חיצוניות שתלויות בפרויקטים הבאים.
  2. צריך להגדיר את משתנה ה-classpath TRADEFED_ROOT ב-Window > Preferences > Java > Build Path> Classpath Variables ולהפנות אותו לרמה הבסיסית (root) של המקור שהוזן במסחר
  3. מגדירים את משתנה הנתיב TRADEFED_ROOT בקובץ Window > Preferences > General > Workspace > Linked Resources ומפנים אותו לספריית השורש של מקור ה-tradefed
  4. משתמשים באשף File > Import...-> General > Existing Projects into workspace" כדי לייבא את פרויקטי ה-Java האלה בקוד פתוח בנתיב הבא:

    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. אם רוצים לראות את קוד המקור של ddmlib, אפשר לצרף את קוד המקור מענף כלים לא ארוז, כמו /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. אם רוצים גם לטעון את הפרויקטים של ערכת CTS, מייבאים את הפריטים הבאים:

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

פורמט אוטומטי

הערה: הקבצים הנדרשים נמצאים ב-development/ide/eclipse בעץ המקור המלא של הפלטפורמה. לכן תצטרכו לבדוק את ההסתעפות של הפלטפורמה, כמו main, כדי לקבל את הקבצים הבאים: /development/main/ide/eclipse/

משתמשים בקובצי העדפות ב-Eclipse כדי להגדיר את פורמט העיצוב באופן אוטומטי למדריך הסגנון של Android. כדי לעשות זאת ב-Studio:

  1. עוברים אל Window > Preferences > Java > Code Style.
  2. בקטע Formatter, מייבאים את הקובץ android-formatting.xml.
  3. בקטע ארגון > ייבוא, מייבאים את הקובץ android.importorder.

הסרת רווחים לבנים בסוף

כדי לאלץ את ליקוי החום להסיר את כל הרווחים הלבנים בסופו של דבר:

  1. עוברים אל Window (חלון) > Preferences (העדפות) -> Java -> Editor (עריכה) -> Save Actions (פעולות שמירה).
  2. לאחר מכן, בוחרים באפשרות פעולות נוספות -> הגדרה -> קוד > הכרטיסייה ארגון -> פורמט עיצוב.
  3. מסמנים את האפשרות הסרת רווח לבן נגרר.
  4. לוחצים על אישור וסגירה.

בדיקת סגנון הקוד

כששולחים רשימת שינויים, המערכת מריצה באופן אוטומטי הוק לפני ההעלאה כדי לבדוק את פורמט הקוד: google-java-format

כך תוכלו לעצב את הקוד בהתאם לתקן הנפוץ.

ניפוי באגים ב-Eclipse

אם רוצים להריץ קוד של TF דרך מנתח באגים ב-Eclipse, מומלץ ליצור קודם בדיקת יחידה לקוד הרלוונטי, כי זו הדרך הפשוטה והמהירה ביותר לבדוק את הפונקציונליות.

כדי לנפות באגים בבדיקת יחידה של TF, פשוט לוחצים עליה לחיצה ימנית ובוחרים באפשרות Debug As > JUnit test.

כדי לנפות באגים בבדיקה פונקציונלית של TF, פועלים לפי ההוראות בקטע הקודם להרצת בדיקה פונקציונליות, אבל משתמשים בתפריט Run > Debug configuration.

כדי לנפות באגים בתוכנית TF עצמה, כשמריצים הגדרה כלשהי, פועלים לפי ההוראות בקטע הקודם להרצת בדיקה פונקציונלית, אבל בשלב 4 מספקים את הארגומנטים של שורת הפקודה לתצורה שרוצים להריץ. כדי לנפות באגים בהגדרה של 'instrument', עוברים לתפריט Run > Debug configuration ומגדירים את הכרטיסייה Arguments בהגדרת ניפוי הבאגים של Eclipse לערך -- package <package to run> instrument.

ניפוי באגים מרחוק באמצעות Eclipse

כדי לנפות באגים מרחוק בסשן של נתונים שמקורם במסחר שהתחילו משורת הפקודה tradefed.sh, פועלים לפי השלבים הבאים:

  1. מפעילים את tradefed.sh עם הדגל לניפוי באגים: TF_DEBUG=1 tradefed.sh
  2. ממתינים עד שתוצג ההודעה מה-JVM: Listening for transport dt_socket at address: 10088. פירוש הדבר הוא שה-JVM ממתין שהכלי לניפוי באגים יצורף ביציאה 10088.
  3. צירוף באמצעות ניפוי הבאגים מרחוק של Eclipse מהתפריט הראשי: בוחרים באפשרות Run > Debug Configurations... (הפעלה > הגדרות ניפוי באגים).
  4. בתיבת הדו-שיח הקופצת, בוחרים באפשרות Remote Java Application (אפליקציית Java מרוחקת) בתפריט הימני.
  5. לוחצים על הסמל New launch configuration בסרגל הפעולות.
  6. נותנים למערך ההגדרות את השם הרצוי ובוחרים את tradefederation בתור הפרויקט.
  7. מאכלסים את היציאה באמצעות הכתובת שצוינה קודם.
  8. עוברים לכרטיסייה Source ומוסיפים את הפרויקטים tradefederation ו-google-tradefed אל Source Lookup Path.
  9. לוחצים על ניפוי באגים כדי להתחיל את סשן ניפוי הבאגים.

הכלי לניפוי באגים נצמד לתהליך ה-JVM של ההאזנה, ובטרמינל שפועל ב-tradefed.sh מוצגת הבקשה tf>.

כדי לעבור על הקוד במצב ניפוי באגים, מגדירים נקודת עצירה ב-Eclipse ומפעילים את הפקודה של Tradefed (כלומר run <test>) במסוף. כדי לנפות באגים במהלך ההפעלה של TF, אפשר להגדיר קודם את נקודת העצירה ואז לחבר את מנתח הבאגים של Eclipse.

טיפ: כדי להשתמש ביציאה חלופית, מוסיפים את TF_DEBUG_PORT=nnnלפקודה בשלב 1 למעלה. אפשר להשתמש בזה גם בסביבת הייצור אם יש באגים מסתוריים של תקיעות שצריך לבדוק: משנים את הערך של suspend=y ל-suspend=n בקובץ tradefed.sh ומתחילים עם דגל ניפוי הבאגים. ה-JVM לא ימתין שהכלי לניפוי באגים יתחבר אליו, אבל אפשר לעשות זאת בכל שלב כל עוד התהליך עדיין פועל.

ניפוי באגים מרחוק באמצעות JDB

כדי להשתמש ב-JDB של Java Debugger, מבצעים את השלבים הבאים, בדומה לאלו של Eclipse:

  1. מריצים את tradefed.sh עם דגל ניפוי הבאגים: TF_DEBUG=1 tradefed.sh
  2. ממתינים עד שמופיעה ההנחיה מ-JVM: ‏ Listening for transport dt_socket at address: 10088.
  3. מחברים את jdb. לדוגמה, מ-croot מריצים:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. ממתינים לחיבור ומתחילים לנפות באגים. הריצו את man jdb לקבלת עזרה נוספת.

בדיקת רמת הכיסוי של הקוד

  1. מתקינים את הפלאגין Eclemma.
  2. עוברים אל Help > Install New Software (עזרה > התקנת תוכנה חדשה) ומכוונים את האשף אל: http://update.eclemma.org/
  3. אחרי ההתקנה, בוחרים באפשרות הבדיקה Cover As > JUnit כדי להריץ הרצת כיסוי קוד.