<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2018, 2019 THALES GLOBAL SERVICES. All rights reserved. This 
	program and the accompanying materials are made available under the terms 
	of the Eclipse Public License v1.0 which accompanies this distribution, and 
	is available at http://www.eclipse.org/legal/epl-v10.html Contributors: Thales 
	- initial API and 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/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>
	<artifactId>rcptt_tests</artifactId>
	<packaging>rcpttTest</packaging>
	<parent>
		<groupId>org.eclipse.egf</groupId>
		<artifactId>egf_root</artifactId>
		<version>1.6.2-SNAPSHOT</version>
		<relativePath>../..</relativePath>
	</parent>

	<pluginRepositories>
		<pluginRepository>
			<id>rcptt-releases</id>
			<name>RCPTT Maven repository</name>
			<url>https://repo.eclipse.org/content/repositories/rcptt-releases/</url>
		</pluginRepository>
		<pluginRepository>
			<id>rcptt-snapshots</id>
			<name>RCPTT Maven Snapshots repository</name>
			<snapshots>
				<updatePolicy>always</updatePolicy>
			</snapshots>
			<url>https://repo.eclipse.org/content/repositories/rcptt-snapshots/</url>
		</pluginRepository>
	</pluginRepositories>
	<properties>
		<rcptt-maven-version>2.3.0</rcptt-maven-version>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.rcptt</groupId>
				<artifactId>rcptt-maven-plugin</artifactId>
				<version>${rcptt-maven-version}</version>
				<extensions>true</extensions>
				<configuration>
					<runner>
						<version>2.3.0</version>
						<vmArgs>
							<vmArg>-Xms256m</vmArg>
							<vmArg>-Xmx2g</vmArg>
						</vmArgs>
					</runner>
					<suites>
						<suite>all</suite>
					</suites>
					<aut>
						<args>
							<arg>-consoleLog</arg>
						</args>
						<vmArgs>
							<vmArg>${failsafeArgline}</vmArg>
						</vmArgs>
						<explicit>../../releng/org.eclipse.egf.product/target/products/EGF_product-[platform].zip</explicit>
					</aut>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>