<?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>org.eclipse.gmf.runtime.releng</artifactId>
    <version>1.12.1-SNAPSHOT</version>
    <relativePath>../org.eclipse.gmf.runtime.releng/pom.xml</relativePath>
  </parent>
  <groupId>org.eclipse.gmf.tests.runtime.common.ui.services</groupId>
  <artifactId>org.eclipse.gmf.tests.runtime.common.ui.services</artifactId>
  <version>1.9.0-SNAPSHOT</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.common.ui.services</testSuite>
     <testClass>org.eclipse.gmf.tests.runtime.common.ui.services.AllTests</testClass>
     <useUIHarness>true</useUIHarness>
     <useUIThread>true</useUIThread>
     <argLine>-ea -XX:MaxPermSize=128m -Xmx1024m</argLine>
    </configuration>
    </plugin>
    </plugins>      
  </build>
</project>
