<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.gmf-runtime</groupId>
    <artifactId>tests</artifactId>
    <version>1.6.0-SNAPSHOT</version>
    <relativePath>../</relativePath>
  </parent>
  <groupId>org.eclipse.gmf.tests.runtime.emf.commands.core</groupId>
  <artifactId>org.eclipse.gmf.tests.runtime.emf.commands.core</artifactId>
  <version>1.5.0.qualifier</version>
  <packaging>eclipse-test-plugin</packaging>
   <build>
  <plugins>
   <plugin>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-surefire-plugin</artifactId>
    <version>${tycho-version}</version>
    <configuration>
     <testSuite>org.eclipse.gmf.tests.runtime.emf.commands.core</testSuite>
     <testClass>org.eclipse.gmf.tests.runtime.emf.commands.core.AllTests</testClass>
     <useUIHarness>true</useUIHarness>
     <useUIThread>true</useUIThread>
    </configuration>
    </plugin>
    </plugins>      
  </build>
</project>
