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 מפרידים.

ראו בנוסף

j2objcc