<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
		<groupId>org.eclipse.emf.parsley</groupId>
		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
		<version>1.10.0-SNAPSHOT</version>
	</parent>

	<artifactId>org.eclipse.emf.parsley.tests.swtbot</artifactId>
	<packaging>eclipse-test-plugin</packaging>
	
	<profiles>
		<profile>
			<id>macosx-jvm-flags</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
			</activation>
			<properties>
				<os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
			</properties>
		</profile>
	</profiles>

	<build>
		<plugins>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.eclipse.xtend</groupId>
				<artifactId>xtend-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<version>${tycho-version}</version>
				<executions>
					<execution>
						<id>default-test</id>
						<phase>integration-test</phase>
						<configuration>
							<skip>${swtbot.tests.skip}</skip>
							<useUIHarness>true</useUIHarness>
							<useUIThread>false</useUIThread>
							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
								for jacoco agent -->
							<argLine>${tycho.testArgLine} ${swtbotTestsArgs}</argLine>
							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
							<excludes>
								<exclude>**/org/eclipse/emf/parsley/tests/swtbot/*WizardsTest*.java</exclude>
								<exclude>**/org/eclipse/emf/parsley/tests/swtbot/*DslEditorTest*.java</exclude>
								<exclude>**/org/eclipse/emf/parsley/tests/swtbot/*DropTest*.java</exclude>
							</excludes>
							<includes>
								<include>**/org/eclipse/emf/parsley/tests/swtbot/*Test*.java</include>
							</includes>
							<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea 
								http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
							<environmentVariables>
								<SWT_GTK3>0</SWT_GTK3>
							</environmentVariables>
						</configuration>
						<goals>
							<goal>test</goal>
						</goals>
					</execution>
					<execution>
						<!-- In Hudson DragAndDrop tests seem to be "disturbed" by other tests,
							so we run them in an isolated run. -->
						<id>draganddrop-test</id>
						<phase>integration-test</phase>
						<configuration>
							<skip>${swtbot.tests.skip}</skip>
							<useUIHarness>true</useUIHarness>
							<useUIThread>false</useUIThread>
							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
								for jacoco agent -->
							<argLine>${tycho.testArgLine} ${swtbotTestsArgs}</argLine>
							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
							<excludes>
								<exclude>**/org/eclipse/emf/parsley/tests/swtbot/*WizardsTest*.java</exclude>
								<exclude>**/org/eclipse/emf/parsley/tests/swtbot/*DslEditorTest*.java</exclude>
							</excludes>
							<includes>
								<include>**/org/eclipse/emf/parsley/tests/swtbot/*DropTest*.java</include>
							</includes>
							<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea 
								http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
							<environmentVariables>
								<SWT_GTK3>0</SWT_GTK3>
							</environmentVariables>
						</configuration>
						<goals>
							<goal>test</goal>
						</goals>
					</execution>
					<execution>
						<id>PDEBasedTests</id>
						<phase>integration-test</phase>
						<configuration>
							<skip>${swtbot.tests.skip}</skip>
							<useUIHarness>true</useUIHarness>
							<useUIThread>false</useUIThread>
							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
								for jacoco agent -->
							<argLine>${tycho.testArgLine} ${pdeTestsArgs} ${swtbotTestsArgs}</argLine>
							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
							<excludes>
								<exclude>**/org/eclipse/emf/parsley/tests/swtbot/*AbstractTest*.java</exclude>
							</excludes>
							<includes>
								<include>**/org/eclipse/emf/parsley/tests/swtbot/*DslEditorTest*.java</include>
								<include>**/org/eclipse/emf/parsley/tests/swtbot/*WizardsTest*.java</include>
							</includes>
							<environmentVariables>
								<SWT_GTK3>0</SWT_GTK3>
							</environmentVariables>
						</configuration>
						<goals>
							<goal>test</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<!-- TODO remove with tycho 1.3 -->
					<bundleStartLevel>
						<bundle>
							<id>org.apache.felix.scr</id>
							<level>1</level>
							<autoStart>true</autoStart>
						</bundle>
					</bundleStartLevel>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<configuration>
					<dependency-resolution>
						<extraRequirements>
							<requirement>
								<type>eclipse-feature</type>
								<id>org.eclipse.emf.parsley.tests.swtbot.feature</id>
								<versionRange>0.0.0</versionRange>
							</requirement>
							<requirement>
								<type>eclipse-feature</type>
								<id>org.eclipse.rcp</id>
								<versionRange>0.0.0</versionRange>
							</requirement>
						</extraRequirements>
					</dependency-resolution>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>