<?xml version="1.0" encoding="UTF-8"?>
<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.4.0-SNAPSHOT</version>
		<relativePath>../org.eclipse.rmf.releng/pom.xml</relativePath>
	</parent>
	<groupId>org.eclipse.rmf.plugins</groupId>
	<artifactId>org.eclipse.rmf.rif11.model.test</artifactId>
	<version>0.4.0-SNAPSHOT</version>
	<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>
		<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>