<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2016 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
-->
<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.7.2-SNAPSHOT</version>
    <relativePath>../tests-pom/</relativePath>
  </parent>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.ui.tests.refactoring</artifactId>
  <version>3.13.50-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>
  <properties>
    <testSuite>${project.artifactId}</testSuite>
    <testClass>org.eclipse.jdt.ui.tests.refactoring.all.AllAllRefactoringTests</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>
          <explodedBundles>
            <bundle>org.junit</bundle>
          </explodedBundles>
          <dependencies>
            <dependency>
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.equinox.event</artifactId>
              <version>0.0.0</version>
            </dependency>
            <dependency> <!-- For PullUpTests18 -->
              <type>eclipse-plugin</type>
              <artifactId>org.eclipse.jdt.annotation</artifactId>
              <version>[2.0.0,3.0.0)</version>
            </dependency>
          </dependencies>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
</project>
