<?xml version="1.0" encoding="UTF-8"?>
<!--
 <copyright>
Copyright (c) 2012 itemis AG.
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:
    Mark Broerkens - initial API and implementation
 </copyright>

-->
<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.rmf</groupId>
		<artifactId>org.eclipse.rmf.releng</artifactId>
		<version>0.8.0-SNAPSHOT</version>
		<relativePath>../org.eclipse.rmf.releng/pom.xml</relativePath>
	</parent>
	<groupId>org.eclipse.rmf.plugins</groupId>
	<artifactId>org.eclipse.rmf.tests.serialization.reqif10</artifactId>
	<version>0.8.0-SNAPSHOT</version>
	<properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	</properties>
	<packaging>eclipse-test-plugin</packaging>
	<profiles>
		<profile>
			<id>macosx</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
			</activation>
			<properties>
				<test.vmargs>-Xmx512m -XX:MaxPermSize=256m -XstartOnFirstThread</test.vmargs>
			</properties>
		</profile>
		<profile>
			<id>other-os</id>
			<activation>
				<os>
					<family>!mac</family>
				</os>
			</activation>
			<properties>
				<test.vmargs>-Xmx512m -XX:MaxPermSize=256m</test.vmargs>
			</properties>
		</profile>
	</profiles>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<testOutputDirectory>work</testOutputDirectory>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<includes>
						<include>**/All*Tests.class</include>
					</includes>
					<useUIHarness>false</useUIHarness>
					<useUIThread>false</useUIThread>
					<argLine>${test.vmargs}</argLine>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>