ארגז הכלים הראשי הנתמך לבניית OpenWeave הוא GNU Autotools.
דרישות המערכת
כל פלטפורמות ה-OS העיקריות תומכות בהכנה וביצירה של אוסף OpenWeave. ערכות הכלים הרשומות נבדקו באופן רשמי על ידי Nest.
| Linux | ||||||
|---|---|---|---|---|---|---|
| דרישות: Ubuntu 14.04 (Trusty) נתמך באופן רשמי, אבל כל מערכת דומה המבוססת על Linux אמורה לפעול. | ||||||
| C/C++, Java, Python | 
 | |||||
| C/C++, איגודי Java | 
 | |||||
| Mac OS X | ||||||
|---|---|---|---|---|---|---|
| דרישות: XQuartz לשכפול עץ משנה אחד לספרייה אחרת עם קישורים סימבוליים. | ||||||
| C/C++, קשרים לקקאו | 
 | |||||
| C/C++, Python | 
 | |||||
| חלונות | ||||||
|---|---|---|---|---|---|---|
| דרישות: Cygwin לתמיכה בשורת הפקודה של Linux. | ||||||
| שדות C/C++ | 
 | |||||
| מוטמע | ||||||
|---|---|---|---|---|---|---|
| שדות C/C++ | 
 | |||||
דרישות מוקדמות
בנוסף לארגז כלים נתמך, מומלץ להתקין את החבילות והכלים הבאים לפני הבנייה של OpenWeave.
חבילות
Linux:
sudo apt-get install python-pip python-setuptools bridge-utils /libglib2.0-dev libdbus-1-dev libudev-dev /libical-dev libreadline-dev
Linux ו-Mac OS X:
pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomexsudo cpan -i Text::Template
כלי רכב של GNU
OpenWeave תלוי בכלי הרכב של GNU עבור מערכת ה-build שלו. גרסה של GNU כלי רכב חייבים להיות זמינים כדי לפתח בהצלחה את OpenWeave. כדי להשתמש בגרסה האוטומטיה של המערכת של Linux ב-Linux:
sudo apt-get install libtool autoconf automakeעבור המערכות שבהן ה-GNU Autotools אינו זמין או ניתן להתקנה (לדוגמה, Mac OS) או במערכות שבהן הגרסה שסופקה על ידי המערכת לא יוצרת גרסת build קשיחה מחוץ לאריזה, מערכת Nest Labs יצרה מסגרת מותאמת אישית ובנייתית, המבוססת על GNU Autotools. המערכת מצמידה את קבוצת התוכניות המשמשות ליצירת גרסאות טובות של גרסאות. הצמדה של הכלים לגרסה מסוימת מבטיחה גם נטישה נמוכה יחסית בפלט של כלי הרכב, וכתוצאה מכך חוויית המשתמש והתמיכה תהיה חזויות. גרסת ה-Nest Labs של GNU Autotools מומלצת לשימוש עם OpenWeave.
כדי ליצור כלים אוטומטיים של Nest Labs GNU:
git clone https://github.com/openweave/openweave-core.gitcd openweave-coremake -C third_party/nlbuild-autotools/repo/ tools
שמח
כדי להפעיל את הסקריפטים לבדיקה שנכללים ב-OpenWeave, או כדי להשתמש ב-Weave בטופולוגיה מדומה, צריך להתקין את שמחה במחשב Linux. למידע נוסף, ניתן לעיין בהגדרה מהנה.
אפליקציה עצמאית
שימוש באפליקציית ברירת המחדל OpenWeave עצמאית למארח של פיתוח מחשב או מארח.
- שכפול המאגר של OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- בניית האפליקציה OpenWeave עצמאית:
cd openweave-coremake -f Makefile-Standalone
יש להשתמש בסימון help עם Makefile-Standalone כדי ללמוד אילו מתגי build זמינים
להתאמה אישית של גרסת ה-build.
make -f Makefile-Standalone helpלדוגמה, כדי להפעיל את הקוד של ניפוי באגים ביומן ואת הרישום ביומן:
make -f Makefile-Standalone DEBUG=1קישור פרויקטים
- שכפול המאגר של OpenWeave:
git clone https://github.com/openweave/openweave-core.git
- הגדרת סביבת build ל-GNU Autotools:
cd openweave-core./bootstrap./configure
- בנייה של OpenWeave:
make all
- יוצרים פלט של המיקום במיקום נפרד לצורך קישור של פרויקט:
mkdir <openweave-output>make DESTDIR=<openweave-output> install
אחרי ה-Staging, יש להשתמש בספריות שמתחת ל-<openweave-output> כדי לקשר פרויקטים:
- /usr/local/include— כותרות ציבוריות
- /usr/local/lib— ספריות
Android ו-iOS
כדי ליצור ספריות לקישור פרויקטים ל-Android ול-iOS, יש להשתמש בMakefiles ספציפי לפלטפורמה:
make -f Makefile-Androidmake -f Makefile-iOS
יש להשתמש בסימון help עם Makefile-<platform> כדי ללמוד
אילו מתגי build זמינים להתאמה אישית של ה-build. למשל:
make -f Makefile-Android helpmake -f Makefile-iOS help
הגדרה
לפני שמגדירים את OpenWeave עם סקריפטים וכותרות שונים, אפשר להשתמש בכלים האוטומטיים כדי לפתוח מחדש את קובצי ה-build הרלוונטיים:
./bootstrapיש לבצע את השלב הזה פעם אחת, אחרי תשלום בקופה ואז אחר כל שינוי ב-configure.ac או ב-Makefile.am. אין צורך לחזור עליה רק כשמשנים את ההגדרות או את היעדים של ה-build.
סקריפטים
אפשר להשתמש בסימון --help עם סקריפט התצורה הכלול בו כדי לקבל מידע נוסף על אפשרויות שניתן להגדיר.
./configure --helpלדוגמה, כדי להגדיר את OpenWeave ללא תמיכה ב-BlueZ:
./configure --without-bluezכותרות
ב-Makefiles הכלולים נעשה שימוש בשני קובצי כותרות המגדירים קבועים
בזמן ההידור:
ייתכן שיוצגו גם כותרות הגדרה ספציפיות לפרויקט. מציבים את הקבצים האלה בספריית הפרויקט שלכם – אין להציב אותם במאגר OpenWeave. יש להשתמש באפשרות התצורה המתאימה כדי לציין כל מיקום של קובץ במהלך ההגדרה:
| קובץ כותרת | אפשרות הגדרה | 
|---|---|
| InetProjectConfig.h | --with-weave-inet-project-includes=<directory> | 
| WeaveProjectConfig.h | --with-weave-project-includes=<directory> | 
לדוגמה, כדי להגדיר את OpenWeave לשימוש בקובץ ספציפי לפרויקט
WeaveProjectConfig.h שנמצא בקובץ ~/my-project/headers:
./configure --with-weave-project-includes=~/my-project/headers