<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:m2="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.modisco</groupId>
    <artifactId>org.eclipse.modisco.releng.tycho</artifactId>
    <version>1.5.0-SNAPSHOT</version>
    <relativePath>../org.eclipse.modisco.releng.tycho</relativePath>
  </parent>
  <groupId>org.eclipse.modisco</groupId>
  <artifactId>org.eclipse.modisco.java.generation.tests</artifactId>
  <version>1.5.0-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>
   <build>
      <plugins>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
               <dependency-resolution>
                  <extraRequirements xmlns="">
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.modisco.sdk.feature.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>eclipse-plugin</type>
                        <id>org.eclipse.osgi.compatibility.state</id>
                        <versionRange>[1.1.0,2.0.0)</versionRange>
                     </requirement>
                  </extraRequirements>
               </dependency-resolution>
            </configuration>
            <executions>
               <execution>
                  <id>default</id>
                  <goals>
                     <goal>target-platform</goal>
                  </goals>
                  <phase>compile</phase>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <configuration>
               <skipTests>${SKIP_TESTS}</skipTests>
               <testFailureIgnore>true</testFailureIgnore>
               <failIfNoTests>false</failIfNoTests>
               <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
               <argLine>-DoutputEncoding=UTF-8</argLine>
               <application>org.eclipse.ui.ide.workbench</application>
               <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
               <showEclipseLog>true</showEclipseLog>
            </configuration>
            <executions>
               <execution>
                  <id>default-test</id>
                  <configuration>
                     <includes>
                        <include>**/AllTestsNotInUIThread.class</include>
                     </includes>
                     <useUIThread>false</useUIThread>
                     <useUIHarness>true</useUIHarness>
                  </configuration>
                  <goals>
                     <goal>test</goal>
                  </goals>
                  <phase>test</phase>
               </execution>
               <execution>
                  <id>AllUITests</id>
                  <configuration>
                     <includes>
                        <include>**/AllTestsInUIThread.class</include>
                     </includes>
                     <useUIThread>true</useUIThread>
                     <useUIHarness>true</useUIHarness>
                  </configuration>
                  <goals>
                     <goal>test</goal>
                  </goals>
                  <phase>test</phase>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>
</project>
