ビルド順序は、ビルド・パスとは反対の、EGL で維持される Eclipse の概念です。
Eclipse は、コード (レコードの定義など) の共有、変数の共有、または互いのプログラムの呼び出しを行う プロジェクトに対してビルド順序を維持します。
ここで重要な概念がプロジェクト・サイクルです。プロジェクト・サイクルには、相互依存関係を持つ 2 つ以上のプロジェクトが含まれています。例えば、Project1 にパーツ A と C、Project2 にパーツ B と D が含まれているとします。A は B に依存し、B は C に依存し、さらに C は D に依存しています。 まず Project1 を EGL でビルドすると、EGL がパーツ B と D への参照を解決できないために、パーツ A と C にエラーが見つかります。 Project2 のビルド終了後、 A と C が Project1 で既にビルドされているために Project2 はエラーを生成しませんが、EGL は A と C で発生したエラーを解決するために再度 Project1 をビルドします。
Eclipse は、各プロジェクトにその依存関係を尋ねることによって、ビルド順序を決定します。依存関係は、EGL が .eglpath ファイル (EGL ビルド・パス を参照) を使用して生成します。 ワークスペースにサイクルが含まれていない場合、Eclipse が決定する順序は最も効率的で、 EGL は 1 回の受け渡しですべてのプロジェクトをビルドすることが可能になります。
ただし、Eclipse はプロジェクト・サイクルを考慮しません。ワークスペースにプロジェクト・サイクルが ある場合、EGL は、ワークスペースのビルド回数を減らすために ビルド順序を変更できる場合があります。をクリックすると、EGL は、サイクルに含まれているプロジェクトをビルド順序内のより最適なスポットに 移動しようとします。
ビルド順序は、ワークスペースの設定 () を使用して手動で変更できます。これらの設定を手動で変更すると ビルド・エラーを発生させる場合があります。また、「ビルド順序」設定ページを使用して、 ビルド順序で行われた変更内容を、最適化操作によって元に戻すこともできます。
「ビルド順序」設定ページの「サイクルでビルドするときの最大反復」 フィールド を変更できます。このフィールドの値が、プロジェクト中のビルドのサイクル回数を 制限します。この値が小さすぎると、 すべてのエラーを解決する前にビルドが強制終了することがあります。