<?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.dltk.javascript</groupId>
  	<artifactId>javascript</artifactId>
  	<version>1.0.0-SNAPSHOT</version>
  	<relativePath>../..</relativePath>
  </parent>
  <groupId>org.eclipse.dltk.javascript</groupId>
  <artifactId>org.eclipse.dltk.javascript.ui.tests</artifactId>
  <version>5.1.0-SNAPSHOT</version>
  <packaging>eclipse-test-plugin</packaging>

  <profiles>
	  <profile>
		  <id>macosx</id>
		  <activation>
			  <os>
				  <name>mac os x</name>
				  <family>mac</family>
			  </os>
		  </activation>
		  <properties>
			  <ui.test.vmargs>-XstartOnFirstThread</ui.test.vmargs>
		  </properties>
	  </profile>
	  <profile>
         <id>not-macosx</id>
		 <activation>
			 <os>
				 <name>not-mac</name>
				 <family>!mac</family>
			 </os>
		 </activation>
		 <properties>
			 <ui.test.vmargs></ui.test.vmargs>
		 </properties>
	 </profile>
 </profiles>

  <build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<target>
						<artifact>
							<groupId>org.eclipse.dltk.core</groupId>
							<artifactId>org.eclipse.dltk.core.targetplatform</artifactId>
							<version>5.1.0-SNAPSHOT</version>
						</artifact>
					</target>
				</configuration>
			</plugin>		
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<useUIHarness>true</useUIHarness>
					<argLine>${ui.test.vmargs}</argLine>
					<dependencies>
						<dependency>
							<type>p2-installable-unit</type>
							<artifactId>org.eclipse.platform.feature.group</artifactId>
						</dependency>
					</dependencies>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
