<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.bpel</groupId>
	  <artifactId>org.eclipse.bpel.parent.pom</artifactId>
	  <version>0.0.1-SNAPSHOT</version>
	  <relativePath>../../parent/pom.xml</relativePath>
	</parent>
	
	<groupId>org.eclipse.bpel.tests</groupId>
	<artifactId>org.eclipse.bpel.ui.tests</artifactId> 
	<version>1.0.0-SNAPSHOT</version>
	<packaging>eclipse-test-plugin</packaging>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.sonatype.tycho</groupId>
				<artifactId>maven-osgi-test-plugin</artifactId>
				<version>${tychoVersion}</version>
				
				<configuration>
					<includes>
						<include>**/*Test.class</include>
					</includes>
				
					<argLine>-Xms64m -Xmx1024m -XX:MaxPermSize=128M -Dorg.eclipse.swtbot.search.timeout=15000</argLine>
					<useUIHarness>true</useUIHarness>
					<useUIThread>false</useUIThread>
          			<product>org.eclipse.sdk.ide</product>
          			<application>org.eclipse.ui.ide.workbench</application>
          			
          			<!-- Dependencies are set through the manifest -->
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
