13

現在、OSGI バンドル プロジェクトをビルドするためにヘッドレス モードで PDE ビルドを使用しています。PDE Antrunner タスクは Eclipse インストールを使用しており、ローカルの Eclipse インストールを指しているだけです。

残念ながら、私の Eclipse インストールは約 260MB の大きさですが、PDE ビルドでは、標準の Eclipse インストールでこれらのプラグインのすべてが必要になるわけではないと思います。

ヘッドレス PDE ビルドを実行するために必要なプラグインの最小リストは何ですか? 私が実際にカスタム ターゲット プラットフォーム フォルダーに持っているすべての依存関係があるため、Eclipse インストールで必要なのは、PDE ビルドが実際に必要とする依存関係だけだと思います。しかし、それらは何ですか?インストールを最小限に縮小できますか?

私の目標は、この「build-eclipse」フォルダーをプロジェクトの SVN にチェックインして、チェックアウトしたときに、build.properties に触れることなく、完全なビルドを開始するために必要なものがすべて揃っているようにすることです。しかし、20MB しか必要ないのであれば、266MB の eclipse をコミットしたくありません。

ありがとうクリストフ

4

2 に答える 2

5

今日、最終的にこれを自分で行う必要がありました (名前にスペースが含まれるディレクトリがバンドル PDE ビルドに含まれていないという問題に対処するため)。最終的に、(Java ベースの) プラグインのコレクションを構築できるものを手に入れました。「最小限」かどうかはわかりませんが、Java PDE ビルドに重点を置いており、完全な Eclipse IDE インストールよりもはるかに小さいものです。

大まかなメモを取りました。ここにはいくつかの省略や余分な手順がある可能性がありますが、主にそれがガイドとなるはずです。

私:

  1. 最近の Eclipse IDE を起動しました (私の場合、現在使用している 3.5 インスタンス)。
  2. スクラッチ ワークスペースを使用したので、ターゲット プラットフォームを変更しても「実際の」プロジェクトが台無しになることはありませんでした。
  3. ターゲット プラットフォームが、PDE ビルダーのプラグインを描画したい場所に設定されていることを確認しました (私の場合は、実行中の Eclipse だけです)。(ウィンドウ | 設定... | プラグイン開発 | ターゲット プラットフォーム)
  4. 新しい空のプロジェクトを作成しました。
  5. そのプロジェクト内に新しい製品構成を作成しました (「基本設定」を使用)。
  6. 新しい製品構成の [概要] ページで、[製品にはネイティブ ランチャー アーティファクトが含まれています] のチェックを外しました。</li>
  7. 依存関係では、製品を構成するものとして次のプラグインを指定しました。
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. 「オプションの依存関係を含める」にチェックを入れました。. .」</li>
  9. 「必要なプラグインを追加」をクリック。
  10. パッケージ エクスプローラーで製品定義を右クリックし、[エクスポート] を選択します。エクリプス製品」。
  11. PDE ビルダー インスタンスを配置したい場所を指定しました。
  12. 「エクスポート前に同期する」のチェックを外します。
  13. 「メタデータリポジトリを生成する」のチェックを外します。
  14. 「完了」をクリックしました。

これで、次のようなマクロを呼び出すことで、通常の Ant ビルドから PDE ビルドを (引き続き) 起動できます (もっと良い方法はありますか?)。

<macrodef name="build-a-product">
    <attribute name="config-dir"/>
    <sequential>
        <property name="product-build-file" value="${pde-builder-path}\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml" />
        <java jar="${pde-builder-path}\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar" fork="yes" failonerror="yes" >
            <arg value="-application" />
            <arg value="org.eclipse.ant.core.antRunner" />

            <arg value="-buildfile" />
            <arg value="${product-build-file}" />

            <arg value="-Dbuilder=@{config-dir}" />

            <arg value="-Dbasedir=${basedir}" />
        </java>
    </sequential>
</macrodef>
于 2010-05-06T17:04:35.260 に答える
3

ご質問に直接お答えすることはできませんが、少し手を振ることはできます。その中には、本当の答えを見つけるのに役立つものもあります。

私の偏微分方程式の経験では、以下を区別することが非常に有用であることがわかりました。

  • インタラクティブな編集に使用していた Eclipse IDE
  • ヘッドレス PDE ビルドに使用していた「Eclipse」インストール
  • 「ターゲット プラットフォーム」 (プラグイン/機能などのセット。私が構築しているものは依存しています)

これらはあなたの頭の中でも明確で別個の概念のように思えます: あなたはすでに「ターゲット プラットフォーム」を分離しており、インタラクティブな Eclipse を PDE ビルダーから分離しようとしています。

インタラクティブなEclipseで新しい(空の)ワークスペースを作成してみてください(ターゲットプラットフォームではなく、それを見ていることを確認してください)、「プラグイン」ビューを開き、有望なプラグを右クリックします- のようorg.eclipse.pde.buildに、「Open Dependencies」を選択します。「フラット レイアウト」は、階層よりも結果を表示するためのより便利な方法かもしれませんが、私の Eclipse では、このリストをコピーして貼り付けることができないようです。

私の場合、これは JDT で何も言及していないため、実際に Java ベースのプラグインを構築しようとすると失敗すると思いますが、うまくいけば、別の手がかりが得られるでしょう (たとえば、「見つかりませんorg.eclipse.jdt」など)。 .

Software Updates メカニズム、Target Platform、または Buckminster を使用して、1 つのプラグインに名前を付けるだけで、他のすべてのプラグインを適切な場所に配置する方法が「あるはず」のようです。ターゲット プラットフォームを使用して、必要なプラグインを選択し、ボタンをクリックして必要なプラグインを選択し、それらすべてのプラグインを効果的に収集する「ビルド」を何らかの方法でエクスポートできますか?

私は、対話型の Eclipse を少し前にチェックインし、それを PDE ビルダーとして使用したことを告白します。インタラクティブに使用することはなく、別のターゲット プラットフォームも維持しています。私たちの PDE ビルダーは明らかに最小ではありませんが、おそらくそうなる可能性もあります。そのため、このスペースをあなたの発見で更新してください.

于 2010-03-03T20:02:16.737 に答える