<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2019 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
     Igor Fedorenko - initial implementation
     Mickael Istria (Red Hat Inc.) - 416915: tycho-surefire-plugin configuration
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>
    <artifactId>tests-pom</artifactId>
    <groupId>eclipse.jdt.ui</groupId>
    <version>4.13.0-SNAPSHOT</version>
    <relativePath>../tests-pom/</relativePath>
  </parent>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.text.tests</artifactId>
  <version>3.13.600-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>

  <properties>
  	<testSuite>${project.artifactId}</testSuite>
  	<testClass>org.eclipse.jdt.text.tests.JdtTextTestSuite</testClass>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho.version}</version>
        <configuration>
          <useUIHarness>true</useUIHarness>
          <useUIThread>true</useUIThread>
          <dependencies>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.osgi.compatibility.state</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.equinox.event</artifactId>
              <version>0.0.0</version>
            </dependency>
          </dependencies>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
