リポジトリーからの取り出し
PDE ビルドが提供するインフラストラクチャーには、ビルド・プロセスの一部として、リポジトリーから作成するソース・コードを取り出すためのステップが用意されています。次の 2 つの方法が使用できます。すなわち、PDE ビルドが自動的にソースを取り出すようにする方法と、ソース・コードを手動で取り出す方法です。
ソース・コードの CVS からの自動取り出し
ビルドが必要なフィーチャーの ID の場合、ビルド・インフラストラクチャーは、組み込まれたすべてのフィーチャーおよびプラグインを CVS から取り出すことができます。
どこから取得するかを知るために、PDE はマップ・ファイルを使用します。マップ・ファイルは Java プロパティー・ファイルで、フィーチャーおよびプラグインの ID をリポジトリー内のロケーションとタグにマップします。
CVS から取り出す際のマップ・ファイル・エントリーの形式は、次のとおりです。
<elementType>@<elementID> = CVS, <TAG>, <CVSROOT>[,<PASSWORD>[,<PATH>[,<CVSPASSFILE>]]]
ここで、elementType は bundle、feature、
plug-in、または fragment のいずれかです。
パスが指定されていない場合は、代わりに要素名が CVS モジュールとして使用されます。以下に例を示します。
plugin@org.foo.bar=CVS,v20060501,:pserver:anonymous@cvs.example.org:/cvsroot/foo
これは、タグ v20060501 のラベルが付いたプラグイン org.foo.bar を、
cvs.eclipse.org/cvsroot/foo/org.foo.bar から取り出すということです。
CVS ソース取り出しのセットアップ
CVS からのソースの取り出しをセットアップするには、以下の手順に従います。
- システムの検索パスに cvs.exe があることを確認します。
(CVS はここからダウンロードしてください)。
- build ディレクトリーに maps というフォルダーを作成します。
- maps フォルダーに拡張子が .map のファイルを作成します。
- このマップ・ファイルに、リポジトリーから取り出す必要があるすべての要素を入れます。
- configuration フォルダーの build.properties ファイルを編集して、
skipFetch=true という行をコメント化します。
このプロパティーを設定すると、
PDE ビルドは取り出しフェーズ全体をスキップします。
マップ・ファイルで指定したタグが無視されるようにするには、プロパティー fetchTag を特定の値に設定します。これは、タグ付きバージョンではなく HEAD から、毎晩ビルドを実行する場合に役に立ちます。
マップ・ファイルの CVS からの取得
マップ・ファイルは通常はリポジトリーに保管されます。
PDE ビルドのデフォルト・インフラストラクチャーでは、CVS リポジトリーからマップ・ファイルを取得します。この機能を使用可能にするには、configuration ディレクトリーの構成の build.properties で、以下のプロパティーを変更します。
- skipMaps: このプロパティーをコメント化します。
このプロパティーが設定されていると、
PDE ビルドはマップ・ファイルを取り出しません。
- mapsRepo =
:pserver:anonymous@example.com/path/to/repo: マップ・ファイルの取得先の CVS リポジトリー。
- mapsRoot =
/path/to/maps: CVS リポジトリー内の、マップ・ファイルを含むディレクトリーのパス。
- mapsCheckoutTag =
HEAD: マップ・ファイルのチェックアウトに使用する CVS タグ。
マップ・ファイルの CVS からの取り出しは、ビルドの事前ビルド・フェーズで行われます。
ビルドするフィーチャーと、そのフィーチャーに含まれるプラグインをすべて取り出すためのスクリプトは、ビルドの取り出しフェーズ中に生成され、実行されます。
その他のリポジトリーからの自動取り出し
PDE ビルドは、さまざまなリポジトリーの取り出しスクリプト生成プログラムをプラグインすることができる拡張ポイントを提供します。
Eclipse のインストールに、異なるタイプのリポジトリー用のスクリプト生成プログラム拡張を提供するバンドルが含まれている場合は、マップ・ファイル・エントリーでそのリポジトリーを指定することにより、それを使用することができます。
<elementType>@<elementID> = <REPOSITORY>, <TAG>, [...]
TAG の後のマップ・エントリーの形式は、拡張子によって決まります。
リポジトリーからマップ・ファイルを自動的に取り出す場合は、customTarget.xml ファイルを、
org.eclipse.pde.build/templates/headless-build から configuration ディレクトリーにコピーする必要があります。
ターゲット getMapFiles はマップ・ファイルの取り出しに使用されます。これを、リポジトリーから取り出すように変更してください。
ソース・コードの手動取得
カスタムの取り出しターゲットを作成して、
customTargets.xml ファイルの preSetup または postSetup ターゲットから呼び出せるプラグインとフィーチャーを取得することができます。
フィーチャーとプラグインは、それぞれ
${buildDirectory}/features
と
${buildDirectory}/plugins に取り出されます。