ルール
- <ph type="x-smartling-placeholder"></ph> j2objc_library
- <ph type="x-smartling-placeholder"></ph> objc_import
- <ph type="x-smartling-placeholder"></ph> objc_library
- <ph type="x-smartling-placeholder"></ph> available_xcodes
- <ph type="x-smartling-placeholder"></ph> xcode_config
- <ph type="x-smartling-placeholder"></ph> xcode_version
j2objc_library
j2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
このルールでは、J2ObjC を使用して Java ソースを変換します。 ファイルを Objective-C にエクスポートすると、objc_library や objc_binary の依存関係として使用できます。 できます。J2ObjC 自体について詳しくは、 J2ObjC サイト
カスタム J2ObjC トランスパイル フラグは、ビルドフラグを使用して指定できます。
--j2objc_translation_flags
をコマンドラインで使用します。
j2objc_library ターゲットに含まれる翻訳ファイルは、 デフォルトのコンパイル構成でコンパイルします。 属性にコンパイル オプションが指定されていない objc_library ルール。
さらに、生成されたコードはソースレベルではなくターゲット レベルで重複排除されます。もし 同じ Java ソースファイルを含む異なる Java ターゲットを使用すると、重複シンボル エラーが表示されることがあります。 表示されます。この問題を解決するための正しい方法は、共有 Java ソースファイルを 共通のターゲットが存在します。
引数
属性 | |
---|---|
name |
このターゲットの一意の名前。 |
deps
|
j2objc_library 、java_library 、
次を含む java_import ターゲットと java_proto_library ターゲット
Objective-C にトランスパイルされる Java ファイル。
リーチできるすべての「 J2ObjC 変換の動作は、ソース Java ソースのタイプによって異なる
されます。含まれる .java ソースファイルごとに、
ユーザーは、J2ObjC で生成されたヘッダー ファイルをコードにインポートできます。インポート パスは、
これらのファイルは、元の Java アーティファクトのルート相対パスです。たとえば
proto_library ルールがこのルールの推移的クロージャに含まれている場合、J2ObjC proto も
バイナリレベルで生成、コンパイル、リンクできますproto の場合
|
entry_classes
|
--j2objc_dead_code_removal
がオンの場合、この属性は必須です。Java クラスは、
Java
言語仕様。
フラグ --j2objc_dead_code_removal が指定されている場合、エントリクラスのリスト
推移的に収集され、デッドコード分析を行うためのエントリポイントとして使用されます。
未使用のクラスは、最終的な ObjC App Bundle から削除されます。
|
jre_deps
|
j2objc_library ルール。デフォルトでは、JRE のコア機能のみがリンクされています。
|
objc_import
objc_import(name, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, features, includes, licenses, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, visibility, weak_sdk_frameworks)
このルールは、コンパイル済みの静的ライブラリを
.a
ファイル。また、同じ Cloud Storage バケットを使用して、
objc_library
でサポートされている属性。
引数
属性 | |
---|---|
name |
このターゲットの一意の名前。 |
hdrs
|
これらのヘッダーは、ライブラリの公開インターフェースを記述したものです。 ルールに含まれているか、または独立している できます。このライブラリのクライアントに含めることを想定していないヘッダー srcs 属性で指定する必要があります。 モジュールが有効になっている場合、これらはソースとは別にコンパイルされます。 |
alwayslink
|
srcs と non_arc_srcs (含まれていないものも含む)
バイナリによって参照されるシンボル。
これは、Python のコードでコードを明示的に呼び出していない場合に
バイナリを受け取るコード(たとえば、コールバックを受け取るためにコードが登録されている場合)
提供します。
|
archives
|
.a ファイルのリスト
このターゲットに依存します。
|
includes
|
#include/#import 検索パスのリスト
そして、それに依存するすべての標的です。
これは、サポートしていないサードパーティおよびオープンソース ライブラリを
ワークスペース全体のパスを
#import/#include ステートメント。
パスはパッケージ ディレクトリからの相対パスとして解釈され、
genfiles と bin ルート(例: COPTS とは異なり、以下のフラグはこのルールに追加されます。 依存するすべてのルールについて学習しました。(注: コンテナが依存するルールではありません)。行動 広範囲に影響が及ぶ可能性があるため、細心の注意を払ってください。判断に迷う場合は、 「-iquo」COPTS に渡します。 |
sdk_dylibs
|
|
sdk_frameworks
|
最上位の Apple バイナリをリンクすると、そのバイナリのリストにリストされているすべての SDK フレームワークが 推移的依存関係グラフがリンクされています |
sdk_includes
|
#include/#import 検索パスのリスト
すべての依存ターゲットに対して、各パスは
$(SDKROOT)/usr/include 。
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
objc_library
objc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, licenses, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, runtime_deps, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
このルールは、指定された Objective-C ソースファイルから静的ライブラリを生成します。
引数
属性 | |
---|---|
name |
このターゲットの一意の名前。 |
deps
|
|
srcs
|
|
hdrs
|
これらのヘッダーは、ライブラリの公開インターフェースを記述したものです。 ルールに含まれているか、または独立している できます。このライブラリのクライアントに含めることを想定していないヘッダー srcs 属性で指定する必要があります。 モジュールが有効になっている場合、これらはソースとは別にコンパイルされます。 |
alwayslink
|
srcs と non_arc_srcs (含まれていないものも含む)
バイナリによって参照されるシンボル。
これは、Python のコードでコードを明示的に呼び出していない場合に
バイナリを受け取るコード(たとえば、コールバックを受け取るためにコードが登録されている場合)
提供します。
|
copts
|
生成された Xcode プロジェクトでは、ディレクトリ パスは「-I」を使用して指定します。使用すると、 copt が解析され、先頭に「$(WORKSPACE_ROOT)/」が付加されます相対パスの場合は 関連する Xcode ターゲットのヘッダー検索パスに追加されます。 |
defines
|
-D フラグ。地域
KEY=VALUE の形式または単に KEY です。
このターゲットのコンパイラだけでなく、copts として渡されます。
ありますが、このターゲットのすべての objc_ 依存関係も対象となります。
「変数を作成」による置換を適用し、
Bourne シェルのトークン化。
|
enable_modules
|
|
implementation_deps
|
deps : これらのライブラリのヘッダーとインクルード パス(および
推移的依存関係)は、このライブラリのコンパイルにのみ使用され、
依存します。implementation_deps で指定されたライブラリは引き続きリンクされています
バイナリ ターゲットに格納されます。
|
includes
|
#include/#import 検索パスのリスト
そして、それに依存するすべての標的です。
これは、サポートしていないサードパーティおよびオープンソース ライブラリを
ワークスペース全体のパスを
#import/#include ステートメント。
パスはパッケージ ディレクトリからの相対パスとして解釈され、
genfiles と bin ルート(例: COPTS とは異なり、以下のフラグはこのルールに追加されます。 依存するすべてのルールについて学習しました。(注: コンテナが依存するルールではありません)。行動 広範囲に影響が及ぶ可能性があるため、細心の注意を払ってください。判断に迷う場合は、 「-iquo」COPTS に渡します。 |
linkopts
|
|
module_map
|
|
module_name
|
|
non_arc_srcs
|
|
pch
|
|
runtime_deps
|
|
sdk_dylibs
|
|
sdk_frameworks
|
最上位の Apple バイナリをリンクすると、そのバイナリのリストにリストされているすべての SDK フレームワークが 推移的依存関係グラフがリンクされています |
sdk_includes
|
#include/#import 検索パスのリスト
すべての依存ターゲットに対して、各パスは
$(SDKROOT)/usr/include 。
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
available_xcodes
available_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
このルールの 2 つのターゲットは、xcode_config
ルール インスタンスによって依存できます。
リモートおよびローカルで利用可能な Xcode のバージョンを示します。
これにより、まとめて利用可能な xcode から公式の xcode バージョンを選択できます。
引数
属性 | |
---|---|
name |
このターゲットの一意の名前。 |
default
|
|
versions
|
|
xcode_config
xcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
このルールの単一のターゲットは --xcode_version_config
ビルドで参照できます
--xcode_version
フラグを承認済みの公式 xcode バージョンに変換するフラグです。
これにより、多数の登録済みエイリアスから公式の Xcode バージョンを選択できます。
引数
属性 | |
---|---|
name |
このターゲットの一意の名前。 |
default
|
xcode_version ターゲットで指定されたバージョンは、次の場合に使用されます。
xcode_version ビルドフラグは指定されていません。このフィールドは必須です
versions が設定されました。remote_versions または
local_versions が設定されました。
|
local_versions
|
xcode_version |
remote_versions
|
xcode_version |
versions
|
xcode_version |
xcode_version
xcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_visionos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)
その xcode バージョンの有効なエイリアスを持つ単一の公式 xcode バージョンを表します。
xcode_config
ルールをご覧ください。
引数
属性 | |
---|---|
name |
このターゲットの一意の名前。 |
default_ios_sdk_version
|
ios_sdk_version ビルドフラグは、ここで指定された値をオーバーライドします。
|
default_macos_sdk_version
|
macos_sdk_version ビルドフラグは、ここで指定された値をオーバーライドします。
|
default_tvos_sdk_version
|
tvos_sdk_version ビルドフラグは、ここで指定された値をオーバーライドします。
|
default_visionos_sdk_version
|
visionos_sdk_version ビルドフラグは、ここで指定された値をオーバーライドします。
|
default_watchos_sdk_version
|
watchos_sdk_version ビルドフラグは、ここで指定された値をオーバーライドします。
|
version
|
|