ビルド・マネージャはコンパイルを管理します。これは、ビルド・システムを構成するトランスレータのレジストリです。 ビルド・マネージャは、JCompiler
クラスのシングルトン・インスタンスにより表されます。 ビルド・マネージャは、staticメソッドgetCompiler
により取得されます。
トランスレータは、1つ以上のタイプの入力ファイルを取得し、これらのファイルから固有のタイプの出力ファイルを生成します。 たとえば、SQLJトランスレータはSQLJ
ファイルをJava
ファイルに変換します。コピー・トランスレータの入力タイプと出力タイプは同じですが、入力ファイルはソース・ディレクトリ・パスから取得され、出力ファイルはクラス・ディレクトリに置かれます。 トランスレータは、Translator
を実装したシングルトン・インスタンスです。
ビルド・システムは、有向グラフに編成されるトランスレータの集合です。有向グラフでは、認識されたファイル・タイプはノードで表され、トランスレータはノードをつなぐリンクにより表されます。 たとえば、SQLJ
からJava
、JSP
からJava
、Java
からCLASS
へのトランスレータのみ、およびGIF
からGIF
へのコピー・トランスレータを備えた単純なビルド・システムは、次のような構造になります。
グラフでは、連鎖的に変換を行うことで複雑なコンパイルの実装が可能です。 たとえば、SQLJ
ファイルは一時Java
ファイルに変換してコンパイルされます。次に、このファイルはクラス・ディレクトリのClass
ファイルに変換されます。
ビルド・システムは、アドインがロードされる起動時にアセンブルされます。 ビルド・システムにトランスレータを追加するアドインでは、トランスレータをインスタンス化し、JCompiler
のregisterTranslator
メソッドに渡してこれを行います。 このとき、ビルド・マネージャはトランスレータのgetInputTypes
およびgetOutputTypes
メソッドを問い合せてリンクの先頭と末端を識別します。(複数の入力タイプ、出力タイプを持つトランスレータは、グラフで複数のリンクを定義します。)各ノードは、複数のトランスレータの末端とはなりません。したがって、各ファイル・タイプのコンパイル・パスが2つ以上になることはありません。この規則に違反するトランスレータの登録は拒否され、コンソールにエラーが表示されます。同様に、ループするコンパイル・パス(コピー・トランスレータの1リンク・ループ以外)を使用するトランスレータも拒否されます。
コンパイルは、ユーザーがナビゲータでプロジェクトまたはその他のノードを選択し、JDeveloperのユーザー・インタフェースから「再ビルド」または「メイク」を選択すると、インスタンス化されます。ビルド・マネージャはプロジェクトのファイルを収集し、連鎖的に実行するコンパイルのうち、最初の段階のコンパイルを後のコンパイルよりも先に実行するように順番に並べ、1つのセットとします。これは、各トランスレータに順に渡されます。 たとえば、JSP
からJava
へのトランスレータは、常にJava
からCLASS
へのトランスレータに先行します。 各トランスレータでは、変換可能なファイルをセットから抽出して変換します。さらにコンパイルが必要な場合は、出力ファイルをセットに返します。 最終トランスレータ(Java
からCLASS
へなど)およびコピー・トランスレータでは、出力ファイルをセットに返しません。セットが空になると、コンパイルが完了します。
トランスレータは、Translator
インタフェースを実装します。 次のメソッドは、実際のコンパイル・プロセスに関わるTranslator
実装の基本的なメソッドです。
canBuild
は、ビルド・マネージャが未コンパイルの各ファイルに適用する述語で、translate
に渡されるサブセットを識別します。
needToBuild
はビルド・マネージャが適用する述語で、canBuild
で選択されたファイルの変換中に、参照する必要があるファイルを識別します。 たとえば、JSP
ファイルの変換にはJava
ファイルが必要です。 これらのファイルはtranslate
にも渡されます。
translate
はビルド・マネージャにコールされて、canBuild
で選択されたファイルを変換します。 sources
パラメータは、canBuild
およびneedToBuild
で識別されたファイルの配列です。 results
パラメータは、トランスレータで生成されたファイルが置かれる配列です。 rebuild
パラメータは、「再ビルド」モードと「メイク」モードを区別します。
Translator.Log
のメソッドは、ユーザーに送信されるステータス・メッセージを管理します。
ユーザーは、プロジェクト・プロパティ・ツリーの「コンパイラ」ブランチで、ページのコンパイル設定オプションを設定します。 ダイアログを開くには、「ツール」->「プロジェクト・プロパティ」を選択します。 カスタムの構成ページをインストールするには、JCompiler
registerNavigable
メソッドを使用します。
コンパイル・プロセスの監視を必要とする拡張機能では、BuildSystemListener
インタフェースおよびCopyListener
インタフェースを実装する必要があります。
oracle.ide.Ide
oracle.ide.compiler.BuildSystemListener
oracle.ide.compiler.CopyListener
oracle.jdeveloper.compiler.JCompiler
oracle.jdeveloper.compiler.Translator
Copyright © 1997, 2004, Oracle. All rights reserved.