כדי להגדיר את Tradefed באמצעות Eclipse, פועלים לפי השלבים הבאים.
צריך ליצור סביבת עבודה נפרדת כדי לפתח את Trade Federation, ולא להשתמש מחדש בסביבת עבודה שכבר משמשת לפיתוח מכשירי Android.
במקרה הצורך, אפשר להוריד את Eclipse IDE for Java developers מהכתובת: eclipse.org/downloads
יצירת פרויקטים
- מריצים את הפקודה make פעם אחת משורת הפקודה. הפעולה הזו תיצור ספריות חיצוניות שהפרויקטים שבהמשך תלויים בהן.
- מגדירים את משתנה נתיב המחלקה TRADEFED_ROOT ב-
Window > Preferences > Java > Build Path> Classpath Variablesומפנים אותו אל שורש המקור של Tradefed. - מגדירים את משתנה הנתיב TRADEFED_ROOT ב-
Window > Preferences > General > Workspace > Linked Resourcesומפנים אותו אל שורש המקור של Tradefed. משתמשים באשף
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אופציונלי: אם רוצים לראות את קוד המקור של
ddmlib, צריך לצרף את קוד המקור מהסתעפות של כלים שלא נכללים בחבילה, כמו /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.אם רוצים לטעון גם את הפרויקטים של CTS harness, מייבאים:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
פורמט אוטומטי
הערה: הקבצים הנדרשים נמצאים בתיקייה development/ide/eclipse בעץ המקור של הפלטפורמה המלאה. לכן צריך לבדוק ענף של פלטפורמה כמו
android-latest-release כדי לקבל את הקבצים האלה:
/development/android16-qpr2-release/ide/eclipse/
אפשר להשתמש בקובצי העדפות ב-Eclipse כדי להגדיר אוטומטית את מעצב הקוד בהתאם למדריך הסגנון של Android. כדי לעשות את זה ב-Studio:
- עוברים אל חלון> העדפות > Java > סגנון הקוד.
- בקטע כלי העיצוב, מייבאים את הקובץ
android-formatting.xml. - בקטע ארגון > ייבוא, מייבאים את הקובץ
android.importorder.
הסרת רווחים לבנים בסוף
כדי לכפות על Eclipse להסיר את כל הרווחים הלבנים בסוף השורה:
- עוברים אל חלון > העדפות -> Java -> עורך -> שמירת הפעולות.
- אחר כך, עוברים אל פעולות נוספות -> הגדרות -> קוד -> הכרטיסייה "ארגון" -> כלי העיצוב.
- מסמנים את התיבה הסרת רווחים לבנים בסוף השורה.
- לוחצים על אישור וסגירה.
בדיקת סגנון הקוד
כששולחים רשימת שינויים, לפני ההעלאה יופעל הוק באופן אוטומטי כדי לבדוק את פורמט הקוד: google-java-format
הבדיקה מאפשרת לכם לעצב את הקוד לפי הסטנדרט.
ניפוי באגים ב-Eclipse
אם רוצים להריץ קוד TF דרך כלי לניפוי באגים ב-Eclipse, מומלץ ליצור קודם בדיקת יחידה לקוד הרלוונטי. זו הדרך הפשוטה והמהירה ביותר לבדוק את הפונקציונליות.
כדי לנפות באגים בבדיקת יחידה של TF, פשוט לוחצים עליה לחיצה ימנית ובוחרים באפשרות ניפוי באגים בתור > בדיקת Junit.
כדי לנפות באגים בבדיקה פונקציונלית של TF, פועלים לפי ההוראות שבקטע הקודם להרצת בדיקה פונקציונלית, אבל משתמשים בתפריט הפעלה > הגדרות לניפוי באגים.
כדי לנפות באגים בתוכנת ה-TF עצמה, כשמריצים הגדרה כלשהי, פועלים לפי ההוראות שבקטע הקודם להרצת בדיקה פונקציונלית, אבל בשלב 4 מספקים את הארגומנטים של שורת הפקודה להגדרה שרוצים להריץ. כדי לנפות באגים בהגדרת האינסטרומנט, עוברים לתפריט הפעלה > הגדרות לניפוי באגים ומגדירים את הכרטיסייה ארגומנטים בהגדרת ניפוי הבאגים של Eclipse ל--- package <package to run> instrument.
ניפוי באגים מרחוק באמצעות Eclipse
כדי לנפות באגים מרחוק בסשן tradefed שהופעל משורת הפקודה tradefed.sh:
- מפעילים את tradefed.sh עם דגל ניפוי הבאגים:
TF_DEBUG=1 tradefed.sh - מחכים עד שמופיעה ההנחיה הבאה מ-JVM:
Listening for transport dt_socket at address: 10088זה אומר ש-JVM ממתין לחיבור של מאתר הבאגים ביציאה10088. - מצרפים באמצעות ניפוי באגים מרחוק של Eclipse מהתפריט הראשי: בוחרים באפשרות הפעלה > הגדרות ניפוי באגים….
- בתיבת הדו-שיח שקופצת, בוחרים באפשרות אפליקציית Java מרוחקת בתפריט הימני.
- לוחצים על הסמל הגדרת השקה חדשה בסרגל הפעולות.
- נותנים להגדרה את השם שרוצים, ובוחרים באפשרות tradefederation בתור הפרויקט.
- מזינים את הכתובת שצוינה למעלה.
- עוברים לכרטיסייה מקור ומוסיפים את הפרויקטים tradefederation ו-google-tradefed אל נתיב החיפוש של המקור.
- כדי להתחיל לנפות באגים, לוחצים על ניפוי באגים.
הכלי לניפוי באגים מצורף לתהליך ה-JVM שממתין, והטרמינל שמריץ את tradefed.sh מציג את ההנחיה tf>.
כדי להריץ את הקוד במצב ניפוי באגים, מגדירים נקודת עצירה ב-Eclipse ומפעילים את פקודת Tradefed (למשל, run <test>) במסוף. כדי לנפות באגים במהלך ההפעלה של TF, אפשר להגדיר קודם את נקודת העצירה ואז לצרף את הכלי לניפוי באגים של Eclipse.
טיפ: כדי להשתמש ביציאה חלופית, מוסיפים את TF_DEBUG_PORT=nnnלפקודה בשלב 1 שלמעלה. אם יש באגים מסתוריים שתוקעים את המערכת ורוצים לבדוק אותם: משנים את suspend=y ל-suspend=n ב-tradefed.sh ומתחילים עם דגל ניפוי הבאגים. מכונת ה-JVM לא תחכה שהכלי לניפוי באגים יצורף, אבל אפשר לעשות זאת בכל שלב כל עוד התהליך עדיין פועל.
ניפוי באגים מרחוק באמצעות JDB
כדי להשתמש בכלי לניפוי באגים ב-Java (JDB), פועלים לפי שלבים דומים לאלה של Eclipse:
- מפעילים את
tradefed.shעם דגל ניפוי הבאגים:TF_DEBUG=1 tradefed.sh - מחכים עד שמופיעה ההנחיה מ-JVM:
Listening for transport dt_socket at address: 10088. מחברים את
jdb. לדוגמה, מ-croot run:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/srcמחכים לחיבור ומתחילים בניפוי הבאגים. לקבלת עזרה נוספת, מריצים את הפקודה
man jdb.
בדיקת רמת הכיסוי של הקוד
- מתקינים את הפלאגין Eclemma.
- עוברים אל עזרה > התקנת תוכנה חדשה ומפנים את האשף אל: http://update.eclemma.org/
- אחרי ההתקנה, בוחרים באפשרות הבדיקה כיסוי בתור > JUnit כדי להריץ בדיקה של רמת הכיסוי של הקוד.