2012-11-21 9 views
6

MavenTychoEclipse Indigo RCPアプリケーションをコンパイルしようとしています。 1つのプラットフォーム用にビルドすればうまく動作しますが、それ以上ビルドしようとするとビルドが停止します。Maven TychoでEclipseのクロスプラットフォームを構築する

問題は、ビルドしたい製品ファイルにプラットフォーム固有のプラグインがあることです。依存性はのフラグメントプラグインであるorg.eclipse.swt.win32.win32.x86のようになります。
プラットフォーム固有のフラグメントを製品に追加しても、org.eclipse.swt.win32.win32.x86のようなプラットフォームライブラリがないため、アプリケーションが起動しませんでした。 Tychoリポジトリとして、私たち自身のサーバーでホストされているeclipse indigo更新サイトのクローンを使用します。これにはデルタパックが含まれています。 そして、すべてのプラットフォームのすべてのフラグメントを追加すると、ビルドがクラッシュし、mavenはプラットフォームフィルタがLinuxビルドのものと一致しないと教えてくれます。

誰でもこれを解決する方法を知っていますか?
これらのプラットフォームに依存するものを私の製品に追加する必要がありますか?私は特定の依存関係を私の製品から守ることを好むのですが、そうですか?

+0

この質問は時代遅れです。上記の問題はTycho 0.15.0以前でのみ発生します。 – oberlies

答えて

7

プラグインベースの製品があるようです。この場合は、.productファイルを手動で編集し、これらのプラグインのプラットフォームフィルタを追加する必要があります。残念なことに、eclipseのビルトイン製品エディターはこれらの値を公開しません。 http://wiki.eclipse.org/Tycho/FAQ#How_to_build_plugin-based_products_with_platform-specific_fragments.3F

それぞれのプラグインについて、 org.eclipse.swt.win32.win32.x86のようなものを追加する必要があります。

<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true" ws="win32" os="win32" arch="x86"/> 

注:製品エディタを使用すると、これらの値は削除されます。

ただし、フィーチャーベースの製品を使用することをお勧めします。フィーチャーエディターでは、これらのフィールドを編集することができます。

+0

+1正確に何を探していたのですか – msteiger

+0

Tycho 0.16.0ではもう必要ないようです(すでに0.15.0かもしれません) – msteiger

+1

@msteiger:これは正しいです。 [Tycho 0.16.0以降](https://bugs.eclipse.org/bugs/show_bug.cgi?id=342890)では、製品ファイルのws/os/arch属性を手動で設定する必要がなくなりました。ビルドによって自動的に設定されます。 – oberlies

1

私はブログで見つかったより簡単に解決策があります:親/マスターのpom.xmlでhttp://blog.sdruskat.net/building-a-cross-platform-feature-based-eclipse-rcp-product-with-tycho-the-umpteenth/

、 は、次のように指定し、P2からすべてのプラグインを使用するには:

<build> 
<plugins> 
    <plugin> 
    <groupId>org.eclipse.tycho</groupId> 
    <artifactId>tycho-maven-plugin</artifactId> 
    <version>${tycho-version}</version> 
    <extensions>true</extensions> 
    </plugin> 

    <plugin> 
    <groupId>org.eclipse.tycho</groupId> 
    <artifactId>target-platform-configuration</artifactId> 
    <version>${tycho-version}</version> 
    <configuration> 
     <resolver>p2</resolver> 
     <environments> 
      <environment> 
      <os>linux</os> 
      <ws>gtk</ws> 
      <arch>x86_64</arch> 
      </environment> 
      <environment> 
      <os>win32</os> 
      <ws>win32</ws> 
      <arch>x86_64</arch> 
      </environment> 
     </environments> 
    </configuration> 
    </plugin> 
</plugins> 
</build> 

私のタイコバージョンは0.21.0です

関連する問題