<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2013 Eclipse Foundation.
  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>org.eclipse.equinox.p2.tests-parent</artifactId>
		<groupId>org.eclipse</groupId>
		<version>4.7.1-SNAPSHOT</version>
		<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
	</parent>

	<groupId>org.eclipse.equinox</groupId>
	<artifactId>org.eclipse.equinox.p2.tests.ui</artifactId>
	<version>1.1.200-SNAPSHOT</version>
	<packaging>eclipse-test-plugin</packaging>

	<properties>
		<testSuite>${project.artifactId}</testSuite>
		<testClass>org.eclipse.equinox.p2.tests.ui.AutomatedTests</testClass>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<configuration>
					<argLine>-Xmx512m</argLine>
					<useUIHarness>true</useUIHarness>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
