バージョン管理下にあるプロジェクト内のリソースはリポジトリーで保持されるため、ワークスペース内にプロジェクトを再構成するために必要な、 リポジトリー固有の情報への参照を共有することによって、プロジェクトをチーム・メンバーと共有する可能性があります。 これは、チーム・プロジェクト・セットの特殊なタイプのファイル・エクスポートを使用して行われます。
3.0 では、ProjectSetCapability に API が追加されており、リポジトリー・プロバイダーは、制御下のプロジェクトに対して、プロジェクト削減を実装するクラスを宣言できます。 ユーザーがプロジェクト・セットをエクスポートすることを選択すると、プロジェクト・セットを定義するリポジトリーで構成されたプロジェクトのみ、 エクスポートの候補として表示されます。 この API は、以前のプロジェクト・セット直列化 API (以下を参照) に置き換わるものです。
リポジトリー・プロバイダーのプロジェクト・セット機能クラスは、リポジトリー・プロバイダーと同じ拡張に登録された RepositoryProviderType クラスから取得されます。 以下に例を示します。
<extension point="org.eclipse.team.core.repository"> <repository typeClass="org.eclipse.team.internal.ccvs.core.CVSTeamProviderType" class="org.eclipse.team.internal.ccvs.core.CVSTeamProvider" id="org.eclipse.team.cvs.core.cvsnature"> </repository> </extension>
3.0 以前は、org.eclipse.team.core.projectSets 拡張ポイントを使用することで、リポジトリー・プロバイダーが、制御下のプロジェクトに対してプロジェクト削減を実行するクラスを宣言できました。 ユーザーがプロジェクト・セットをエクスポートすることを選択すると、プロジェクト・セットを定義するリポジトリーで構成されたプロジェクトのみ、 エクスポートの候補として表示されます。
例えば、CVS クライアントは、次のように宣言します。
<extension point="org.eclipse.team.core.projectSets"> <projectSets id="org.eclipse.team.cvs.core.cvsnature" class="org.eclipse.team.internal.ccvs.ui.CVSProjectSetSerializer"/> </extension>
指定されたクラスは IProjectSetSerializer を実装する必要があります。 このインターフェースの使用は 3.0 でもサポートされていますが、推奨されていません。