<?xml version="1.0" encoding="UTF-8"?>
<!--
/*******************************************************************************
 * Copyright (c) 2013 Benjamin Schmeling.
 * 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:
 *    Benjamin Schmeling - initial API and implementation and/or initial documentation
 *******************************************************************************/
-->
<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>
	<artifactId>org.eclipse.fmc.blockdiagram.editor.tests</artifactId>
	<packaging>eclipse-test-plugin</packaging>
	<version>0.11.0-SNAPSHOT</version>
	<parent>
		<groupId>org.eclipse.fmc</groupId>
		<artifactId>org.eclipse.fmc.parent</artifactId>
		<version>0.11.0-SNAPSHOT</version>
		<relativePath>../org.eclipse.fmc.parent</relativePath>
	</parent>
	<properties>

	</properties>
	<build>
		<sourceDirectory>src</sourceDirectory>
	</build>
	<profiles>
		<profile>
			<id>macosx</id>
			<activation>
				<os>
					<name>mac os x</name>
					<family>mac</family>
				</os>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho-version}</version>
						<configuration>
							<useUIHarness>true</useUIHarness>
							<useUIThread>true</useUIThread>
							<argLine>-Xmx512m -XX:MaxPermSize=256m -XstartOnFirstThread</argLine>
							<excludes>
								<exclude>**/Meta*.java</exclude>
							</excludes>
							<bundleStartLevel>
								<bundle>
									<id>org.eclipse.fmc.blockdiagram.editor</id>
									<level>1</level>
									<autoStart>true</autoStart>
								</bundle>
							</bundleStartLevel>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>default</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho-version}</version>
						<configuration>
							<useUIHarness>true</useUIHarness>
							<useUIThread>true</useUIThread>
							<argLine>-Xmx512m -XX:MaxPermSize=256m</argLine>
							<excludes>
								<exclude>**/Meta*.java</exclude>
							</excludes>
							<bundleStartLevel>
								<bundle>
									<id>org.eclipse.fmc.blockdiagram.editor</id>
									<level>1</level>
									<autoStart>true</autoStart>
								</bundle>
							</bundleStartLevel>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>