j2objc
הכלי j2objc מתרגם קובצי מקור ב-Java שצוינו לשימוש ב-Object-C או במקורותObjective-C++ לשימוש באפליקציה ל-iOS.
j2objc [ options ] file1.java ...
האפשרויות הבאות נתמכות. אם האפשרויות מובאות בנתיב מסוים, מפרידות כמה ספריות וקובצי פחם בתו ':', כמו בפקודות java
ו-javac
.
אפשרויות נפוצות
- <path> -sourcepath
- לציין איפה נמצאים קובצי המקור של הקלט.
- <path> -classpath
- יש לציין איפה למצוא קבצים של מחלקות משתמשים.
- -d <ספרייה>
- יש לציין היכן למקם את הקבצים שנוצרו מ-Object-C.
- <קידוד> -encoding
- ציון קידוד תווים של קובצי מקור (ברירת מחדל של UTF-8).
- <release> של -source
- לספק תאימות למקור של גרסה מסוימת.
- -g
- יוצרים תמיכה לניפוי באגים.
- -l, --list
- רשימת הקבצים המתורגמים.
- -v, --verbose
- פלט הודעות בנוגע לפעולות שהמתרגם עושה.
- -Werror
- הופכים את כל האזהרות לשגיאות.
- -h, --help
- הדפסת הודעה זו.
אפשרויות תרגום
- --add-reads
- אפשרות שהועברה ישירות אל המהדר של Java (לפרטים, יש לעיין בעזרה של Javac).
- --allow-inherited-constructors
- אל תנפיק אזהרות מהדר כאשר קוד המקור ניגש לבנאים שעברו בירושה.
- --build-closure
- אפשר לתרגם כיתות תלויות אם הן לא מעודכנות (כמו
javac
). - --class-properties
- יצירת מאפייני מחלקה למשתנים סטטיים ולקבועי enum.
- <קובץ> --dead-code-report
- ציון דוח שימוש של ProGuard לסגירה של קוד שאינו פעיל.
- --doc-comments
- תרגום התגובות ב-Javadoc להערות שתואמות ל-Xcode.
- --doc-comments-warnings
- דיווח על אזהרות בעת תרגום תגובות ב-Javadoc.
- <קובץ> -external-annotation-file
- ציון ההערות הנפוצות ביותר שמשפיעות על ההטמעה בקובץ אינדקס של Java Note(פורמט שמוגדר על ידי Checker Framework).
- -g:none
- אין ליצור תמיכה לניפוי באגים.
- -g:relative
- כדאי ליצור תמיכה לניפוי באגים באמצעות נתיבים יחסיים.
- --generate-deprecated
- יוצרים מאפיינים שהוצאו משימוש עבור שיטות, כיתות וממשקים שהוצאו משימוש.
- -J<סימון>
- ניתן להעביר זמני <flag> של Java, כמו
-Xmx1G
, לזמן הריצה של המערכת. - <קובץ> --mapping
- מוסיפים קובץ מיפוי של שיטות.
- --no-class-properties
- אין ליצור מאפייני מחלקה למשתנים סטטיים ולקבועי enum.
- --no-extract-unsequenced
- אל תכתבו ביטויים מחדש כדי ליצור שגיאות ללא שינוי.
- --no-nullability
- אין ליצור הערות עם ערך null של מטרה עסקית.
- --no-package-directories
- אל תיצור ספריות לחבילות Java בעת יצירת קבצים.
- --no-segmented-headers
- יצירת כותרות עם שמרים מסביב לכל סוג מוצהר. שימושי למחזורי ייבוא לא חוקיים.
- --no-wrapper-methods
- אין ליצור שיטות wrapper של מטרה-C עבור בנאים ושיטות סטטיות. (J2ObjC יוצר פונקציות C עבור קובצי הפעלה מסוגים אלה)
- --nullability
- ממיר הערות להערות שאינן פעילות ומבוטלות להערות המטרה-C.
- --patch-module
- אפשרות שהועברה ישירות אל המהדר של Java (לפרטים, יש לעיין בעזרה של Javac).
- --prefix <package=prefix>
- החלפת קידומת שצוינה בשם חבילה.
- <קובץ> --prefixes
- יש לציין קובץ מאפיינים עם הגדרות קידומת.
- --preserve-full-paths
- יצירת קובצי פלט עם אותם נתיבים יחסיים כמו קובצי הקלט.
- -processor <class1> [,<class2>...]
- שמות של מעבדי ההערות שצריך להפעיל. עוקף את תהליך הגילוי המוגדר כברירת מחדל.
- <path> -processorpath
- לציין איפה נמצאים מעבדי הערות.
- --reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
- יוצרים או מחריגים תמיכה ספציפית שדרושה לצורך שיקוף Java.
- <קובץ> --reserved-names
- יש להימנע מהגדרה מחדש של מזהים הנמצאים בכותרות המערכת.
- --static-accessor-methods
- יצירת שיטות גישה למשתנים סטטיים ולקבועי enum.
- --strip-gwt-incompatible
- הסרה של שיטות שמסומנות בהערה
GwtIncompatible
, אלא אם הערך שלהן תואם להערה. - --strip-reflection
- אין ליצור מטא-נתונים שנדרשים להשתקפות Java (שימו לב: הדבר יפחית משמעותית את התמיכה בהשתקפות).
- --swift-friendly
- יוצרים קוד שמאפשר ייבוא של Swift (שווה ערך ל---class-properties --nullability).
- --system
- אפשרות שהועברה ישירות אל המהדר של Java (לפרטים, יש לעיין בעזרה של Javac).
- -t, --timing-info
- זמן הדפסה שנשאר בשלבי התרגום.
- --timing-info:{all,total,none}
- זמן הדפסה שנשאר בשלבי התרגום.
- -use-arc
- אתם יכולים ליצור קוד מטרה-C כדי לתמוך בספירה אוטומטית של הפניות (ARC).
- -use-reference-counting
- אתם יכולים ליצור קוד מטרה-C כדי לתמוך בספירה ידנית של קובצי iOS (ברירת מחדל).
- -version
- פרטי גרסה.
- -x <שפה>
- מציינים את שפת הפלט. הערכים האפשריים הם objective-c (ברירת המחדל) ו-objective-c++.
- -X
- עזרה עם הדפסה לגבי אפשרויות לא סטנדרטיות.
אפשרויות לא סטנדרטיות
- -Xbootclasspath:<path>
- נתיב האתחול נמצא בשימוש התרגום (לא הכלי עצמו).
- -Xlint
- הפעלת כל האזהרות.
- -Xlint:none
- להשבית את כל האזהרות שאינן כלולות במפרט השפה של Java.
- -Xlint:-xxx
- יש להשבית את האזהרה xxx, כאשר xxx הוא אחד משמות האזהרה הנתמכים עבור -Xlint:xxx, למטה.
- -Xlint:cast
- אזהרה לגבי ביטויי CAST מיותרים.
- -Xlint:deprecation
- הצגת אזהרה לגבי שימוש בפריטים שהוצאו משימוש.
- -Xlint:dep-ann
- אזהרה לגבי פריטים שמתועדים עם הערה של @deprecated Javadoc, אך אין להם הערה של @Deprecated.
- -Xlint:empty
- אזהרה לגבי הצהרות ריקות.
- -Xlint:fallthrough
- מומלץ לבדוק את חסימות המתגות כדי לוודא שהן אכן אירעו באזור, ולספק הודעת אזהרה לכל מי שזוהה.
- -Xlint:finally
- הצגת אזהרה לגבי finally סעיפים שלא ניתן להשלים בדרך כלל.
- -Xlint:rawtypes
- הצגת אזהרה לגבי פעולות לא מסומנות בסוגים גולמיים.
- -Xlint:serial
- הצגת אזהרה לגבי הגדרות חסרות של serialVersionUID בכיתות בהמשכים.
- -Xlint:static
- אזהרה לגבי שיטות טוריות שנקראות על מכונות.
- -Xlint:unchecked
- יש לספק פרטים נוספים בנוגע לאזהרות על המרות שלא נבדקו, בהתאם למפרטים של שפת Java.
- -Xlint:varargs
- הצגת אזהרה לגבי שימושים לא בטוחים בארגומנטים משתנים (varargs), במיוחד כאלה שמכילים ארגומנטים שאינם ניתנים להחזרה.
- -Xno-jsni-warnings
- אזהרה אם נעשה שימוש ב-JSNI (GWT) מפרידי קוד מקומי במקום OCNI מפרידים.