2012-08-06 6 views
5

Eclipse RCP製品のビルドをPDEビルドからMaven Tychoに切り替えました。メイン(ブランド)ランチャー実行可能ファイルに加えて、製品には "eclipsec.exe"ファイルが含まれています。私たちは、このコンソールベースのランチャーを製品から除外して、顧客を混乱させるかもしれません。ティコでそれをする方法はありますか?Maven Tycho:製品ビルドでeclipsec.exeを除外する方法は?

答えて

11

私はtycho-users listにこの答えを得た:

あなた日食リポジトリプロジェクトでは、あなたが

.p2.infと呼ばれる同じディレクトリに別のファイルを置くことができ、あなたは.productファイルを持っていると仮定

instructions.configure=org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);

1

私はtychoで直接解決する方法がわかりませんが、これはmaven-antrun-pluginで実現できます。タイムリーな位置にeclipsec.exeを削除するには少しトリックがあります。 削除手順は、p2-director-pluginのmaterializeとアーカイブの目標の間に置かなければなりません。フェーズ前の統合テストに削除ステップを置き、アーカイブ・ステップをフェーズ統合テストに移動しました。

<plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>delete-eclipsec.exe</id> 
      <phase>pre-integration-test</phase> 
      <configuration> 
       <target> 
       <delete file="${project.build.directory}/products/<<your.product.id>>/win32/win32/x86/eclipsec.exe"/> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>tycho-p2-director-plugin</artifactId> 
     <version>${tycho-version}</version> 
     <executions> 
      <execution> 
      <id>materialize-products</id> 
      <goals> 
       <goal>materialize-products</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>archive-products</id> 
      <phase>integration-test</phase> 
      <goals> 
       <goal>archive-products</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 

結果:product.zipではありませんeclipsec.exe。
希望に役立ちます。

+0

良いアイデア:あなたのp2.infファイルの内容のためには、ファイルを削除するには、P2のタッチポイントを置くことができます!もちろん、ビルドは "mvn package"の代わりに "mvn integration-test"を呼び出す必要があります。とにかく、プラグインテストは統合テスト段階にも縛られているので、私はそれをやる必要があります。しかし、私はメーリングリストで提案されているようにp2.infファイルを使用してしまいました。あまりにも私は両方の答えを受け入れることができない悪い! –

関連する問題