יש לפעול לפי השלבים הבאים כדי להגדיר את מערכת המסחר האלקטרוני באמצעות Eclipse.
יוצרים סביבת עבודה נפרדת לפיתוח Trade Federation, ולא משתמשים שוב בסביבת עבודה שכבר משמשת לפיתוח של מכשירי Android.
במקרה הצורך, אפשר להוריד את Eclipse IDE למפתחי Java בכתובת: eclipse.org/downloads
יצירת פרויקטים
- מריצים את make פעם אחת משורת הפקודה. כך תיצור ספריות חיצוניות שתלויות בפרויקטים הבאים.
- צריך להגדיר את משתנה ה-classpath TRADEFED_ROOT ב-
Window > Preferences > Java > Build Path> Classpath Variables
ולהפנות אותו לרמה הבסיסית (root) של המקור שהוזן במסחר - מגדירים את משתנה הנתיב 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, מייבאים את הפריטים הבאים:
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:
- עוברים אל Window > Preferences > Java > Code Style.
- בקטע Formatter, מייבאים את הקובץ
android-formatting.xml
. - בקטע ארגון > ייבוא, מייבאים את הקובץ
android.importorder
.
הסרת רווחים לבנים בסוף
כדי לאלץ את ליקוי החום להסיר את כל הרווחים הלבנים בסופו של דבר:
- עוברים אל Window (חלון) > Preferences (העדפות) -> Java -> Editor (עריכה) -> Save Actions (פעולות שמירה).
- לאחר מכן, בוחרים באפשרות פעולות נוספות -> הגדרה -> קוד > הכרטיסייה ארגון -> פורמט עיצוב.
- מסמנים את האפשרות הסרת רווח לבן נגרר.
- לוחצים על אישור וסגירה.
בדיקת סגנון הקוד
כששולחים רשימת שינויים, המערכת מריצה באופן אוטומטי הוק לפני ההעלאה כדי לבדוק את פורמט הקוד: 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
, פועלים לפי השלבים הבאים:
- מפעילים את tradefed.sh עם הדגל לניפוי באגים:
TF_DEBUG=1 tradefed.sh
- ממתינים עד שתוצג ההודעה מה-JVM:
Listening for transport dt_socket at address: 10088
. פירוש הדבר הוא שה-JVM ממתין שהכלי לניפוי באגים יצורף ביציאה10088
. - צירוף באמצעות ניפוי הבאגים מרחוק של Eclipse מהתפריט הראשי: בוחרים באפשרות Run > Debug Configurations... (הפעלה > הגדרות ניפוי באגים).
- בתיבת הדו-שיח הקופצת, בוחרים באפשרות Remote Java Application (אפליקציית Java מרוחקת) בתפריט הימני.
- לוחצים על הסמל New launch configuration בסרגל הפעולות.
- נותנים למערך ההגדרות את השם הרצוי ובוחרים את tradefederation בתור הפרויקט.
- מאכלסים את היציאה באמצעות הכתובת שצוינה קודם.
- עוברים לכרטיסייה Source ומוסיפים את הפרויקטים tradefederation ו-google-tradefed אל Source Lookup Path.
- לוחצים על ניפוי באגים כדי להתחיל את סשן ניפוי הבאגים.
הכלי לניפוי באגים נצמד לתהליך ה-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:
- מריצים את
tradefed.sh
עם דגל ניפוי הבאגים:TF_DEBUG=1 tradefed.sh
- ממתינים עד שמופיעה ההנחיה מ-JVM:
Listening for transport dt_socket at address: 10088
. מחברים את
jdb
. לדוגמה, מ-croot מריצים:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
ממתינים לחיבור ומתחילים לנפות באגים. הריצו את
man jdb
לקבלת עזרה נוספת.
בדיקת רמת הכיסוי של הקוד
- מתקינים את הפלאגין Eclemma.
- עוברים אל Help > Install New Software (עזרה > התקנת תוכנה חדשה) ומכוונים את האשף אל: http://update.eclemma.org/
- אחרי ההתקנה, בוחרים באפשרות הבדיקה Cover As > JUnit כדי להריץ הרצת כיסוי קוד.