EGLAR ファイルとバイナリー・プロジェクトの概要
EGLAR ファイルは、コンパイル済みの中間表現 (IR) バージョンの EGL パーツが 1 つ以上入っている zip ファイルです。
EGLAR ファイルに格納されているパーツから出力を生成して、デプロイできます。さらに、それらのパーツを使用して、EGLAR ファイルの外部にある EGL ソース・コードからの参照を解決することも可能です。 例えば、EGLAR ファイルにインターフェース・パーツが含まれているとすれば、その定義を使用して、そのパーツに基づく変数を作成できます。さらに、EGLAR ファイルで定義されているウィジェット・タイプを EGL Rich UI エディター用のパレットに表示することも可能になります。
- この新機能を使用すれば、EGL ソースを組み込まずにプロジェクトを配布することが可能になります。このようにして、専有ロジックへのアクセスを制限できます。
- 2 つの意味でパフォーマンスが向上します。第 1 に、定義へのアクセスは、ソース・コードへのアクセスよりも高速です。ワークベンチは、可能な場合にはいつでも EGLAR ファイルに格納されている IR ファイルにアクセスするように構成されています。第 2 に、Eclipse のクリーン・オプションを使用すると、EGL ソースが IR ファイルに再コンパイルされますが、EGLAR ファイルはスキップされます。
パフォーマンスの向上は、コンパイル、生成、索引付けに影響を与えます。
- コードをスタンドアロン EGLAR ファイルにエクスポートします。通常、この作業を実行するのは、組織の外部にコードを配布するときです。この方法によって、専有ロジックへのアクセスを制限できます。
- コードをバイナリー・プロジェクト にエクスポートします。バイナリー・プロジェクトとは、EGLAR ファイルの配置場所として EGLbin ディレクトリーの代わりに使用する EGL プロジェクトのことです。 通常、この作業を実行するのは、組織内の他の開発プロジェクトで使用できるようにコードを配布するときです。
| フィーチャー | バイナリー・プロジェクト | スタンドアロン EGLAR ファイル |
|---|---|---|
| ソース・コードが使用可能 (読み取り専用) になるか | はい | いいえ (ただし、スタンドアロン機能は例外) |
| EGL デバッガーでコードにステップイントゥできるか | はい | いいえ |
| EGL Software Development Kit (EGLSDK) からコードにアクセスできるか | いいえ | はい |
この 2 つの方式について、以下の各セクションで詳しく説明します。
スタンドアロン EGLAR ファイル
スタンドアロン EGLAR ファイルには、IR ファイルと他のリソース (グラフィックス・ファイルや生成出力など) を組み込みます。EGLAR ファイルにソース・コードを組み込むことはできません (ただし、小さな例外として、スタンドアロン機能のパーツを組み込むことは可能です)。ソース・コードが存在しないので、デバッガーは、あたかも IR ファイルが生成出力であるかのようにコードをスキップします。
- EGLAR ファイルを同じプロジェクト (プロジェクト B) 内の他のコードで利用できるのは、そのファイルをそのプロジェクト自身の EGL ビルド・パスに組み込んだ場合に限られます。
- EGLAR ファイルを他のプロジェクト (プロジェクト A) で利用できるのは、プロジェクト A の EGL ビルド・パスを設定するときに、その EGLAR ファイルを明示的に組み込んだ場合です。このオプションは、ファイル・システムから EGLAR ファイルにアクセスする場合とよく似ています。プロジェクト A は、プロジェクト B の設定にかかわりなく、その 2 つのプロジェクトが同じワークスペースに存在している限り、その EGLAR ファイルにアクセスできます。
- プロジェクト B のプロジェクト・コード全体 (EGLAR ファイルも含む) を他のプロジェクト (プロジェクト A) で利用できるのは、プロジェクト B の EGL ビルド・パスを設定するときに、EGLAR ファイルを「エクスポート」するようにし、プロジェクト A の EGL ビルド・パスを設定するときに、プロジェクト A からプロジェクト B にアクセスできるようにした場合に限られます。
ビルド・パスの設定と、EGLAR ファイルのコードを間接的に供用する方法の詳細については、『EGL ビルド・パスの編集』を参照してください。EGL Software Development Kit (EGLSDK) から EGLAR ファイルにアクセスできるように eglpath オプションを設定する方法の詳細については、『EGLSDK』を参照してください。
EGL ビルド・パスから参照されているスタンドアロン EGLAR ファイルは、パーツの解決や生成で利用できます。 そのファイルがインポートされていない場合は、そのファイルからパーツを生成するために、デフォルトのビルド記述子を利用できないので、生成ウィザードを使用する必要があります。一方、そのファイルがインポートされていれば、デフォルトのビルド記述子を利用でき、最も近い組み込みのプロジェクト、パッケージ、フォルダーのいずれかでその記述子が指定されています。
- EGL 検索では、ワークスペースの IR ファイルに含まれているパーツや他の要素を検出できます。EGLAR ファイルのインポートは、この検索に影響します。
- ファイル検索では、ワークスペース内のソース・ファイルを検出できます。EGLAR ファイルのインポートは、その EGLAR ファイルにスタンドアロン機能のパーツのソース・コードが含まれていても、この検索には影響しません。
ファイル・システム内の EGLAR ファイルに対するビルド・パス参照は、EGL 検索にもファイル検索にも影響しません。ワークベンチのパーツ・リスト機能もパーツ参照機能も、EGLAR ファイルとの関連では使用できません。
バイナリー・プロジェクト
エクスポート・タスクでは、非バイナリー・プロジェクトからバイナリー・プロジェクトを構成します。そのタスクでは、バイナリー・プロジェクトのビルド・パスに EGLAR ファイルを組み込み、その EGLAR ファイルをエクスポートして、そのバイナリー・プロジェクトを参照する各種プロジェクトからその EGLAR ファイルにアクセスできるようにします。
バイナリー・プロジェクトに組み込む EGLAR ファイルは 1 つだけです。その EGLAR ファイルには IR ファイルだけを組み込みます。プロジェクトには常にソース・コードを組み込みます。プロジェクトに生成出力やグラフィックス・ファイルなどのリソースを組み込むこともできます。
- ソース・ファイルを EGL エディターで開くことができます。ソース・コードは読み取り専用です。ソース・ファイルを直接開くか、関連する IR ファイルをクリックすることによって、ソース・コードにアクセスできます。
- デバッガーでソース・ファイル内の各パーツにステップイントゥできます。
バイナリー・プロジェクトにアクセスするには、そのプロジェクトをワークスペースにインポートします。これにより、バイナリー・プロジェクトを生成操作やデプロイメント操作で利用できるようになります。また、パーツの解決のために、他のプロジェクトへの EGL ビルド・パスを、このバイナリー・プロジェクトにアクセスできるように設定することもできます。
ビルド・パスの設定と、バイナリー・プロジェクトのコードを間接的に供用する方法の詳細については、『EGL ビルド・パスの編集』を参照してください。EGL Software Development Kit (EGLSDK) でプロジェクトを利用することはできません。
生成ウィザードを使用しないでバイナリー・プロジェクトからパーツを生成する場合のビルド記述子は、そのバイナリー・プロジェクトのデフォルトのビルド記述子になります。
バイナリー・プロジェクト内の IR ファイルを再作成する必要が生じた場合は、そのバイナリー・プロジェクトの基になっているソース・プロジェクトを更新し、そのソース・プロジェクトをバイナリー・プロジェクトとして再エクスポートする必要があります。この操作が必要になる可能性があるのは、バイナリー・プロジェクトが他のソース・プロジェクトに格納されているパーツに依存している状況で、それらのパーツの一部の特性が変更された場合です。
バイナリー・プロジェクトは、EGL 検索とファイル検索の両方の対象になります。
- EGL ビルド・パスでは、バイナリー・プロジェクトをプロジェクトとして参照してください。 組み込みの EGLAR ファイルを直接参照しないでください。
- バイナリー・プロジェクトは、本来、読み取り専用であるべきですが、一部のワークベンチ機能では、更新が可能です。そうではあっても、バイナリー・プロジェクトを更新しないようにしてください。更新した場合は、予想とは異なる動作になる可能性が高いからです。 例えば、スタンドアロン EGLAR ファイルをバイナリー・プロジェクトにインポートしないでください。