<?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.mdt</groupId>
    <artifactId>org.eclipse.modisco</artifactId>
    <version>1.2.0</version>
  </parent>
  <groupId>org.eclipse.mdt</groupId>
  <artifactId>org.eclipse.modisco.xml.discoverer.tests</artifactId>
  <version>1.2.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.swtbot.eclipse.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.swtbot.ide.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.swtbot.eclipse.test.junit4.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.swtbot.forms.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.swtbot.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.modisco.sdk.feature.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.jdt.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.pde.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.rcp.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.emf.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.uml2.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.ocl.all.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.emf.transaction.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.emf.query.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.emf.validation.sdk.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>p2-installable-unit</type>
                        <id>org.eclipse.emf.facet.sdk.feature.feature.group</id>
                        <versionRange>0.0.0</versionRange>
                     </requirement>
                     <requirement>
                        <type>eclipse-plugin</type>
                        <id>org.hamcrest</id>
                        <versionRange>0.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>
            <version>${tycho-version}</version>
            <configuration>
               <skipTests>${SKIP_TESTS}</skipTests>
               <testFailureIgnore>true</testFailureIgnore>
               <failIfNoTests>false</failIfNoTests>
               <forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
               <argLine>-DoutputEncoding=UTF-8 ${org.eclipse.emf.facet.releng.tycho.util.configure.test.vmargs}</argLine>
               <application>org.eclipse.ui.ide.workbench</application>
               <reportsDirectory>/var/lib/jenkins_slave/workspace/org.eclipse.modisco-master-helios/org.eclipse.modisco.build/__target__/testresults/xml</reportsDirectory>
               <work>/var/lib/jenkins_slave/workspace/org.eclipse.modisco-master-helios/org.eclipse.modisco.build/__target__/tests-workspaces/${project.artifactId}</work>
               <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>
