2016-08-09 6 views
0

私は現在、Eclipse 3.7と4.5から私たちのアプリケーションのいずれかを切り替えることを任されています。悲しいことに、誰も新しいフレームワークをどのように台無しにしたのか予想していませんでした。そのため、他のアプリケーションは今のところ3.7にとどまります。今は面倒な部分があります:バグを発見するプロセスをスピードアップするために、私は4.5に対する一般的なプラグインをテストしたいと思います(しかし、彼らはまだ3.7のコースに対してテストする必要があります)。複数のターゲットプラットフォームに対する統合テストを実行

This threadは、ヘルプmaven-invoker-pluginでも可能ですが、その2歳ですが、これは本当に一般的な使用例です。

maven-invoker-pluginをTychoで使用する方法については何も見つかりません。 tycho-surefire-pluginには、ターゲットプラットフォームを変更するオプションがないようです。念のために

、私は(ドキュメントの外で使用/サポートされていないようです)、このターゲットプラットフォームについて話している:

<plugin> 
    <groupId>org.eclipse.tycho</groupId> 
    <artifactId>target-platform-configuration</artifactId> 
    <configuration> 
     <resolver>p2</resolver> 
     <target> 
      <artifact> 
       <groupId>${project.groupId}</groupId> 
       <artifactId>org.acme.project</artifactId> 
       <version>${project.version}</version> 
       <classifier>platform</classifier> 
      </artifact> 
     </target> 
    </configuration> 
</plugin> 

それでは、どのように私は、複数のターゲットに対する私の統合テストをテストしますプラットフォーム?

答えて

0

単一のビルド中に、つまり単一の反応炉でこれを行う必要がありますか?そうでない場合、あなたは、単にJenkins/Hudson matrix buildにより、例えば、Mavenのに渡されたシステムプロパティに基づいて、ターゲットプラットフォームを切り替えることができます

<target> 
    <artifact> 
    <groupId>${project.groupId}</groupId> 
    <artifactId>${targetPlatform}</artifactId> 
    <version>${project.version}</version> 
    <classifier>platform</classifier> 
    </artifact> 
</target> 

だけproject/propertiesの下であなたのtargetPlatformプロパティのデフォルトを設定することを忘れないでください、そう-DtargetPlatform=...が設定されずに構築します失敗しません。

(Eclipseコード推薦で、私たちはこの設定に定期的にtest against 6 different Eclipse releasesを使用しています。)

0

私も同じ反応器内でテストを実行する方法を発見。

すべてのテストクラスを除いたテストフラグメントのコピーを作成し、経由でE4ターゲットプラットフォームを追加しました。それから私は、新しいモジュールにクラスやfragment.xmlをコピーするには、このコードを使用:Mavenのビルドがコピーされたクラスをコンパイルできるように

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>3.0.1</version> 
    <executions> 
     <execution> 
      <id>copy-classes</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/target/it-classes</outputDirectory> 
       <resources> 
        <resource> 
         <directory>../${original-test-project}/src</directory> 
         <filtering>true</filtering> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
     <execution> 
      <id>copy-fragment</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/</outputDirectory> 
       <resources> 
        <resource> 
         <directory>../${original-test-project}/</directory> 
         <includes> 
          <include>fragment.xml</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

最後にbuild.propertiesはラインsource.. = target/it-classes/を持っている必要がありますし、それらを正常に実行してください。

関連する問題