<?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.clipboard.core</groupId>
  <artifactId>org.eclipse.gmf.tests.runtime.emf.clipboard.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.clipboard.core</testSuite>
     <testClass>org.eclipse.gmf.tests.runtime.emf.clipboard.core.AllTests</testClass>
     <useUIHarness>true</useUIHarness>
     <useUIThread>true</useUIThread>
    </configuration>
    </plugin>
    </plugins>      
  </build>
</project>
